blob: 6003a43838cee64dcf333e157c4cbecb548618d8 (
plain)
1
2
3
4
5
6
7
8
9
|
:set -XRankNTypes -XConstraintKinds -XTypeApplications
import Data.Typeable
class Deferrable p where deferEither :: proxy p -> (p => r) -> Either String r
instance (Typeable a, Typeable b) => Deferrable (a ~ b) where deferEither = undefined
:t deferEither @(_ ~ _)
|