```
>>> And(x, y)
And(x, y)
>>> And(f, g)  # f and g are functions
Traceback (most recent call last):
    raise TypeError("non-Boolean arguments: %s" % i)
>>> x(x)
x(x)
>>> And(x, y)(x)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'And' object is not callable  # <=== didn't inherit the BooleanFunction capability?
```