Fixpoint xcombine_r (m : t B) {struct m} : t C :=
match m with
| Leaf => Leaf
| Node l o r => Node' (xcombine_r l) (f None o) (xcombine_r r)
end.

(* Specifications: *)
Lemma xgcombine_r :
forall (m: t B) (i : positive),
get i (xcombine_r m) = f None (get i m).
Lemma xgcombine_r :
forall (m: t B) (i : positive),
get i (xcombine_r m) = f None (get i m).