fact: Definition insert (e:E) (t:tree) : tree := match locate e t Top_c with | inl c => insertUp (Null_t, e, Null_t) c | inr (_, l) => fillLocation e l end.
imports: ExtLib.Structures.Monads ExtLib.Data.Monads.OptionMonad ExtLib.Programming.Extras