This allows us to more easily get a handle to the parameters of the shape, while still being pretty easy to cast to a KnownNat. We can now more easily add to the gradients test, and properly check the sizes of the head without silly hacks.