Consider using fixed-size lists in `morley`
Clarification and motivation
There are some use-cases (and more are popping up) that could benefit from the use of homogeneous fixed-size lists.
To mention some:
genesisAddress<N>
- This recent MR
- at least a couple of instance in tests for the generation of values or on-chain operations
- possibly some TemplateHaskell functions that now are based on tuples or lists (internally or in their result)
In general the issue is that there are several cases where we can expect an output of a known size, but we are forced to pick between:
- using tuples, which forces to implement a function per tuple size
- using lists, which requires an unsafe pattern-match on the resulting value
In this issue we should consider if it's actually worth using fixed-size lists and which ones to use.
Acceptance criteria
- We need to consider:
- if there are enough use-cases to warrant this work
- if we should go with an existing solution or implement our own (:mlem:)
- If we decide that's it's worth it, we need to use these where possible and provide utility functions.