Named functions can be defined using a macro, and in terms of Y :-)