#(mode library) type int = Int_is_abstract type string = String_is_abstract type bool = | True | False val add : (int -> int -> int) val mul : (int -> int -> int) val succ : (int -> int) val equal : ('a -> 'a -> bool) val i0 : int val i1 : int val i2 : int val i42 : int val gt : int -> int -> bool val gte : int -> int -> bool val plus : int -> int -> int type 'a option = None | Some of 'a type 'a box = Box of 'a type cmp = Eq | Lt | Gt type elt = Elt val compare: elt -> elt -> cmp val fail: 'a #(mode input)