私は次の種類の木を持っています
type 'a tree =
| Leaf of 'a
| Node of 'a * ('a tree) * ('a tree);;
また、次のように 2 つの関数 fold_tree と map_tree もあります。
let rec map_tree f t=
match t with
| Leaf v -> Leaf (f v)
| Node(a,lt,rt) -> Node(f a,map_tree f lt, map_tree f rt);;
let rec fold_tree f1 f2 t =
match t with
| Leaf v -> f1 v
| Node(a,lt,rt) -> f2 a (fold_tree f1 f2 lt) (fold_tree f1 f2 rt);;
fold_tree を使用して map_tree を実装することは可能ですか?