// Good code: int MaxLeaf (itree t) { if (IsLeaf (t)) return Label (t); else return max (MaxLeaf (Left (t)), MaxLeaf (Right (t))); }