RepPolyNPlusK.hs:22:1: error: The type of the first pattern in the equation for ‘foo’ does not have a fixed runtime representation: a :: TYPE rep1