module type C = sig .. end
sig
end
type t
type r
val extract : r -> t option
r -> t option
val embed : t -> r
t -> r