unción recursiva de cola para encontrar la profundidad de un árbol en Ocaml

Tengo un tipotree definido de la siguiente manera

type 'a tree = Leaf of 'a | Node of 'a * 'a tree * 'a tree ;;

Tengo una función para encontrar la profundidad del árbol de la siguiente manera

let rec depth = function 
    | Leaf x -> 0
    | Node(_,left,right) -> 1 + (max (depth left) (depth right))
;;

Esta función no es recursiva de cola. ¿Hay alguna forma de escribir esta función de forma recursiva de cola?

Respuestas a la pregunta(6)

Su respuesta a la pregunta