def METHOD_NAME():
    class Bool(Concrete, Node):
        pass
    class Value(Bool):
        value = InstanceOf(bool)
    class Either(Bool):
        left = InstanceOf(Bool)
        right = InstanceOf(Bool)
    class All(Bool):
        arguments = TupleOf(InstanceOf(Bool))
        strict = InstanceOf(bool)
    T, F = Value(True), Value(False)
    node = All((T, F), strict=True)
    assert node.__args__ == ((T, F), True)
    assert node.__children__() == (T, F)
    node = Either(T, F)
    assert node.__args__ == (T, F)
    assert node.__children__() == (T, F)
    node = All((T, Either(T, Either(T, F))), strict=False)
    assert node.__args__ == ((T, Either(T, Either(T, F))), False)
    assert node.__children__() == (T, Either(T, Either(T, F)))
    copied = node.copy(arguments=(T, F))
    assert copied == All((T, F), strict=False)