type ('a, 'b) resultb = ( 'a, 'b ) Result.t boxval lift : ( 'a -> 'b Lwt.t ) -> 'a -> 'b boxval bind : 'a box -> ( 'a -> 'b Lwt.t ) -> 'b boxval return : 'a -> 'a boxval get : 'a box -> 'a Lwt.tval (!@) : 'a box -> 'a Lwt.tval put : 'a Lwt.t -> 'a boxval (~@) : 'a Lwt.t -> 'a box