adaptRecordPattern = (optionalPatt, names) =>
    fromUniqueEntries(names.map(name => [name, MM.opt(optionalPatt[name])]))
Optional specimen values which are `undefined` pass unconditionally.
We encode this with the `M.or` pattern so it also produces a good
compression distinguishing `undefined` from absence.

@param {CopyRecord<Pattern>} optionalPatt
@param {string[]} names
@returns {CopyRecord<Pattern>} The partialPatt