In upstream FreeBSD, I'm aiming to avoid referring to capabilities in generic contexts, preferring to talk about pointers. E.g., I'm not currently defining intcap_t and I've removed types like kuint64cap_t. As such, I wonder if __USER_CAP should become __USER_PTR (or something else, but basically something that doesn't refer to a capability.