unfold extMonad.
induction x using ne_tree.alt_ind; simpl...
replace (ne_list.map (fun x: C A => bind x f) l) with (ne_list.map (fun x: C A => bind x g) l)...
generalize H0. clear H0.
induction l; simpl; intros; rewrite H0...
rewrite IHl...
Qed.

Lemma bind_Leaf (A B: Set) (x: A) (f: A -> M B): bind (ne_tree.Leaf x) f = f x.
Definition deterministic (X: Set) (x: M X) (v: X): Prop := x = ne_tree.Leaf v.