   (reset [this solver constraint]
          (.set-watch solver lo-var constraint true)
          (.set-watch solver hi-var constraint true))
-  (val [this solver constraint]
-       1)
   (split-left [this solver constraint]
               (let [los (.-los solver)
                     his (.-his solver)

  (reset [this solver constraint]
         (dotimes [i (alength vars)]
           (.set-watch solver (aget vars i) constraint true)))
  (val [this solver constraint]
       1)
  (split-left [this solver constraint]
              false)
  (split-right [this solver constraint])

(deftype Constant [c var]
  Object
  (reset [this solver constraint])
  (split-left [this solver constraint]
              false)
  (split-right [this solver constraint])
