unção recursiva @Tail para encontrar a profundidade de uma árvore em Ocaml

Tenho um tipotree definido da seguinte forma

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

Tenho uma função para encontrar a profundidade da árvore da seguinte forma

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

Esta função não é recursiva da cauda. Existe uma maneira de escrever essa função de maneira recursiva de caud

questionAnswers(6)

yourAnswerToTheQuestion