proposition: Lemma insert_same2 i a : insert i (a i) a = a.
proof: Proof. by apply funext => j; rewrite /insert; case: ifPn => // /eqP ->. Qed.
imports: mathcomp(all_ssreflect) imonae_lib HB(structures) ihierarchy imonad_lib ifail_lib istate_lib itrace_lib imonad_transformer