type ('a, 'x, 'e) t = ( 'a * 'x Tree.t, 'e ) Core_kernel.Result.t
val return : 'a -> ( 'a0, 'x, 'e ) t
val map :
[> `Custom of ( 'a, 'b, 'c ) t -> f:( 'a -> 'd ) -> ( 'd, 'b, 'c ) t ]
val bind :
( 'a, 'x, 'e ) t ->
f:( 'a0 -> ( 'b, 'x0, 'e0 ) t ) ->
( 'b0, 'x1, 'e1 ) t