1{-# LANGUAGE PolyKinds, TypeFamilies, DataKinds, KindSignatures, 2 TypeOperators, UndecidableInstances #-} 3 4{-# LANGUAGE RankNTypes, LiberalTypeSynonyms, EmptyDataDecls #-} 5 6-- | A prelude for type-level programming with type families 7 8module Prelude.Type.Families where 9 10-- >>> T :: T ((I 4) `Minus` (I 7)) 11-- -3 12type family (a :: k) `Minus` (b :: k) :: k 13type instance a `Minus` b = a + Negate b 14 15