Reject casts to unsized types

This closes issue #17441 and generally gives more helpful diagnostics.
I'm not sure that they _should_ be. I would prefer some more generic advice