Datatype_sig.Sum2
module BA : S
module BB : S
type t = (BA.t, BB.t) Stdlib.Either.t
val equal : t -> t -> bool
Any notion of equality is allowed, as long as it is an equivalence relation, and that if a == b, then equal a b.
a == b
equal a b
val compare : t -> t -> int
compare is a total order, and should be compatible with equal.
compare
val hash : t -> int
hash requires that equal values have the same hash.
hash
val pretty : Stdlib.Format.formatter -> t -> unit