Use conLikeUserTyVarBinders to quantify field selector types
This patch:
- Writes up a specification for how the types of top-level field selectors should be determined in a new section of the GHC User's Guide, and
- Makes GHC actually implement that specification by using
conLikeUserTyVarBinders
inmkOneRecordSelector
to preserve the order and specificity of type variables written by the user.
Fixes #18023 (closed).