Extracted abstract implicit vals from Types.

These should be considered plumbing and not blended in with the
rest of the api.