1 2 3 4 5 6
{-# LANGUAGE DataKinds, TypeFamilies #-} newtype X = RollX (() -> X) type family F t :: X where F t = RollX (t -> ())