sig
  val unconstrained : float
  val geq_zero : float
  val leq_zero : float
  val gt_zero : float
  val lt_zero : float
  type t = Unconstrained | GeqZero | LeqZero | GtZero | LtZero
  val to_float : Sundials.Constraint.t -> float
  val of_float : float -> Sundials.Constraint.t
end