Allow deriving custom generic instances with ctors/fields sorting
Clarification and motivation
LIGO supports two main layouts (maybe in fact more, but I didn't see them in the documentation):
- Default - left-balanced tree with fields sorted alphabetically;
- Comb - Right-hand comb, no sorting applied.
We have means to reproduce the latter, and it is used e.g. in FA2. However we would also like to support the former, because it is more optimal. But performing fields sort is not yet possible.
Acceptance criteria
- It is possible to sort fields (like
customGeneric "Type" (sorting leftComb)
?) - Lorentz exports the strategies corresponding to LIGO's layouts, so that dev should not think about this much.