fact: Definition mapStateT2 (A S : UU0) (N1 N2 N3 : monad) (f : N1 (A * S)%type -> N2 (A * S)%type -> N3 (A * S)%type) (m1 : stateT S N1 A) (m2 : stateT S N2 A) : stateT S N3 A := fun s => f (m1 s) (m2 s).
imports: mathcomp(all_ssreflect) imonae_lib HB(structures) ihierarchy imonad_lib ifail_lib istate_lib