Skip to content

Instantly share code, notes, and snippets.

{-# LANGUAGE ScopedTypeVariables, GADTs, KindSignatures, MultiParamTypeClasses, FlexibleContexts #-}
data A
data B
data C
data SumABC :: (* -> *) where
A :: Int -> SumABC A
B :: Int -> SumABC B
C :: SumABC C