Counting subtrees where all nodes have the same value
Allow Node take left and right, and BinaryTree take a node.

new BinaryTree(
    new Node(
        0,
        new Node(1),
        new Node(
            0,
            new Node(
                1,
                new Node(1)
                new Node(1)
            ),
            new Node(0),
        )
    )
)


Takes a fair amount of lines, but clearly shows the shape of the tree and removes the need for the messy tree.root.right.left.right usage.