// Source: OpenDSA Data Structures and Algorithms Modules Collection - CHAPTER 12 BINARY TREES: https://opendsa-server.cs.vt.edu/ODSA/Books/Everything/html/BinaryTreeTraversal.html

interface BinNode<E> { // Binary tree node ADT
    // Get and set the element value
    public E value();
    public void setValue(E v);

    // return the children
    public BinNode<E> left();
    public BinNode<E> right();

    // return TRUE if a leaf node, FALSE otherwise
    public boolean isLeaf();
}