Module Effect.Syntax

type 'a t = 'a Freer.t
include Preface.Specs.Applicative.SYNTAX with type 'a t := 'a Freer.t
val and+ : 'a Freer.t -> 'b Freer.t -> ('a * 'b) Freer.t
include Preface.Specs.Monad.SYNTAX with type 'a t := 'a Freer.t
val let* : 'a Freer.t -> ('a -> 'b Freer.t) -> 'b Freer.t
val let+ : 'a Freer.t -> ('a -> 'b) -> 'b Freer.t