NoStarIsType and UndecidableInstances needed for ghc-8.6
NoStarIsType -- otherwise GHC gets confused about * as a type operator
import Data.Kind (Type) -- to replace the usage of * as a type
UndecidableInstances -- otherwise GHC complains about nested KnownNat (a * b)
authored by