Talking to @edsko I think the current distinction between makeFieldLabels and makeFieldLabelsNoPrefix is a bit non-obvious. In particular, if a user uses makeFieldLabels on a datatype that has no prefixes, it will silently succeed but generate no LabelOptic instances.
I think we should:
Document in the Haddocks that the prefixes are required, and explain what to do if different prefix rules are preferred.
Have makeFieldLabels emit a warning if none of the fields have the expected prefix.
Talking to @edsko I think the current distinction between
makeFieldLabels
andmakeFieldLabelsNoPrefix
is a bit non-obvious. In particular, if a user usesmakeFieldLabels
on a datatype that has no prefixes, it will silently succeed but generate noLabelOptic
instances.I think we should:
makeFieldLabels
emit a warning if none of the fields have the expected prefix.