 
       if let determining = v.determinedBy {
         for next in v.constraints {
-          if next != determining && next.isSatisfied {
+          if next !== determining && next.isSatisfied {
             next.recalculate()
             todo.append(next.output)
           }


  // Removes all traces of c from this variable.
  func removeConstraint(constraint: Constraint) {
    constraints = constraints.filter({ $0 != constraint })
    if let c = determinedBy {
      if (c == constraint) {
        determinedBy = nil
      }
    }


}

// Abstract superclass for constraints having a single possible output variable.
class UnaryConstraint: Constraint {

