Kinds missing from types in ghci
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
data family F (a:: k)
foo :: F (m :: [()]) -> a
foo = undefined
bar :: F (m :: [[()]]) -> a
bar = undefined
according to GHCi, both foo
and bar
have type F m -> a
but [foo, bar]
fails