sig
  type ('a, 'b) either = Left of '| Right of 'b
  val is_left : ('a, 'b) Either.either -> bool
  val is_right : ('a, 'b) Either.either -> bool
  val assert_left : ('a, 'b) Either.either -> 'a
  val assert_right : ('a, 'b) Either.either -> 'b
end