Restrict Shape.provenShape to only allow unpacked types in ProvenShape.

This was generally true by construction for actual instances of
ProvenShape, but it was not reflected in the implicit which creates
a Shape for a ProvenShape given a Shape of its contents.

Review by @cvogt