The following does not work:

data Foo a where {Foo :: (->) a (Foo a)}

Someone please file a bug for me, I can't on my computer.