Module S.Infix

include module type of Decoder.Infix
val (>>=) : ( 'i -> ( 'a, 'i Error.t ) Stdlib.result ) -> ( 'a -> 'i -> ( 'b, 'i Error.t ) Stdlib.result ) -> 'i -> ( 'b, 'i Error.t ) Stdlib.result
val (>|=) : ( 'i -> ( 'a, 'i Error.t ) Stdlib.result ) -> ( 'a -> 'b ) -> 'i -> ( 'b, 'i Error.t ) Stdlib.result
val (<*>) : ( 'i -> ( 'a -> 'b, 'i Error.t ) Stdlib.result ) -> ( 'i -> ( 'a, 'i Error.t ) Stdlib.result ) -> 'i -> ( 'b, 'i Error.t ) Stdlib.result
type ('i, 'o) t_let = 'i -> ( 'o, 'i Error.t ) Stdlib.result
val let+ : ( 'i, 'a ) t_let -> ( 'a -> 'b ) -> ( 'i, 'b ) t_let
val and+ : ( 'i, 'a ) t_let -> ( 'i, 'b ) t_let -> ( 'i, 'a * 'b ) t_let
val let* : ( 'i, 'a ) t_let -> ( 'a -> ( 'i, 'b ) t_let ) -> ( 'i, 'b ) t_let
val and* : ( 'i, 'a ) t_let -> ( 'i, 'b ) t_let -> ( 'i, 'a * 'b ) t_let
val (<$>) : ( 'a -> 'b ) -> 'a decoder -> 'b decoder