Protect.R
This "monad" could be related to "Runners in action" (Ahman, Bauer), thanks to Guillaume Munch-Maccagnoni for the reference and for many useful tips!
val error : Pp.t -> ('a, 'l) t
val map_error :
f:('l Error.payload -> 'm Error.payload) ->
('a, 'l) t ->
('a, 'm) t