Singletons/Empty.hs:(0,0)-(0,0): Splicing declarations singletons [d| data Empty |] ======> data Empty data instance Sing (z :: Empty) type SEmpty = (Sing :: Empty -> *) instance SingKind (KProxy :: KProxy Empty) where type DemoteRep (KProxy :: KProxy Empty) = Empty fromSing z = case z of { _ -> error "Empty case reached -- this should be impossible" } toSing z = case z of { _ -> error "Empty case reached -- this should be impossible" }