`compact` and `compactValues`

In the review thread @xwu commented:

I replied: wouldn't _Unwrappable: Unwrappable be a viable workaround for that issue while allowing other types to conform to Unwrappable?