sig val wrap : (unit -> 'a) -> 'CCMonadIO.t end