An interesting point on the abstraction continuum

Adding a phantom type to Payload may not be a bad idea, but I
accidentally made the lensification of the Part type harder with
the wrappers around partBS and friends, so that although there's
still a Part involved, it's no longer accessible. Boo.

Specifically, I can't write something like this (but I *want* to be able to):

  partBS "baz" "quux" & partContentType .~ "whee"