def print_exptree(root):
    """
    Print out an expression tree object via recursion.
    
    Args:
        root: expression tree (object type)
    """
    # Empty tree
    if root is None:
        return 0

    # Leaf node
    if root.left is None and root.right is None:
        return print(f'-- leaf: {root.data}')

    # Print left and right trees
    left_eval  = print_exptree(root.left)
    right_eval = print_exptree(root.right)

    print(f'inter | L: {root.left}, D: {root.data}, R: {root.right}')