I've discovered something how to do something that GHC never intended you to be able to do, and I'm wondering if there's a way to abuse this to do interesting things.
It's known that you can express visible, dependent quantification at the kind level:
data A a :: a -> Type
λ> :kind A