/ StateT / transformer
transformer
 1      let Transformer = ./../Transformer/Type
 2  
 3  in  let Monad = ./../Monad/Type
 4  
 5  in  let StateT = ./Type
 6  
 7  in    λ(s : Type)
 8      →   { lift =
 9                λ(m : Type → Type)
10              → λ(monad : Monad m)
11              → λ(a : Type)
12              → λ(ma : m a)
13              → λ(env : s)
14              → monad.bind
15                a
16                { val : a, state : s }
17                ma
18                (   λ(x : a)
19                  → monad.pure { val : a, state : s } { val = x, state = env }
20                )
21          }
22        : Transformer (StateT s)