1signature UniversalType =
2sig
3  type t
4
5  val embed: unit -> ('a -> t) * (t -> 'a option)
6end
7