sig
type ('a, 'b) withres =
('a, 'b) W(Identity).withres = {
cons : 'a -> 'b Identity.m;
fin : 'b -> unit Identity.m;
}
val bindres :
('a, 'b) withres -> 'a -> ('b -> 'c Identity.m) -> 'c Identity.m
val with_alt :
('a, 'b) withres ->
('c, 'b) withres -> ('a * 'c, exn option * 'b) withres
val with_identity : ('a, 'a) withres
val premap : ('a -> 'b) -> ('b, 'c) withres -> ('a, 'c) withres
type dir_abstract = W(Identity).dir_abstract
val with_sys_chdir : (string, dir_abstract) withres
end