sig
val ( >>= ) :
('a, 'p1, 'p2) Phases.t ->
('a -> ('b, 'p2, 'p3) Phases.t) -> ('b, 'p1, 'p3) Phases.t
val ( >>?= ) :
'a Phases.or_error ->
('a -> ('b, 'p1, 'p2) Phases.t) -> ('b, 'p1, 'p2) Phases.t
val ( >|= ) :
('a, 'p1, 'p2) Phases.t -> ('a -> 'b) -> ('b, 'p1, 'p2) Phases.t
end