generic
    type Tree is private;
    type Child is (<>);
    Left_Child : in Child;
    Right_Child : in Child;
    with function Is_Null (The_Tree : in Tree) return Boolean;
    with function Child_Of
                     (The_Tree : in Tree; The_Child : in Child) return Tree;
package Tree_Utilities_Binary_Single is

    function Is_Leaf (The_Tree : in Tree) return Boolean;

end Tree_Utilities_Binary_Single;