/ StateT / exec
exec
 1      let Monad = ./../Monad/Type
 2  
 3  in  let StateT = ./Type
 4  
 5  in    λ(s : Type)
 6      → λ(m : Type → Type)
 7      → λ(monad : Monad m)
 8      → λ(a : Type)
 9      → λ(state : StateT s m a)
10      → λ(env : s)
11      → monad.bind
12        { val : a, state : s }
13        s
14        (state env)
15        (λ(res : { val : a, state : s }) → monad.pure s res.state)