Utils.List_res
type ('a, 'b) t = ('a list, 'b list) Stdlib.result
This module implements what could be called the "verification" monad. Each step may branch, but if any branch fails, then the entirety of the process fails.
val pp : ok:'a Fmt.t -> err:'b Fmt.t -> ('a list, 'b list) Stdlib.result Fmt.t
val return : 'a -> ('a, 'b) t
val vanish : ('a list, 'b) Stdlib.result
val bind : ('a, 'e) t -> ('a -> ('b, 'e) t) -> ('b, 'e) t
val map : ('a -> 'b) -> ('a, 'e) t -> ('b, 'e) t
module Syntax = Utils.List_res.Syntax