sig
  type fd
  type elt
  val min : Invariant.FD.fd -> Invariant.FD.elt Invariant.unsetable_t
  val max : Invariant.FD.fd -> Invariant.FD.elt Invariant.unsetable_t
  val size : Invariant.FD.fd -> int Invariant.unsetable_t
  val is_var : Invariant.FD.fd -> bool Invariant.unsetable_t
  val unary :
    ?name:string ->
    (Invariant.FD.fd -> 'a) -> Invariant.FD.fd -> 'Invariant.unsetable_t
end