generic type T is private; package tree is type Tree; type Tree_Access is access Tree; type Tree is record Val : T; Left : Tree_Access; Right : Tree_Access; end record; -- Returns the height of the tree. function Height (T : Tree_Access) return Integer; end tree;