A function which accepts a collection of validation methods and returns their composition.
Validation methods are passed as an array of arrays. This is so that validation can occur in stages.
Each stage runs in series, and all methods within a stage run in parallel.
This allows for defining a single function which can 'shortcircuit' on cheap validation before more
expensive validation runs.
A function which accepts a collection of validation methods and returns their composition. Validation methods are passed as an array of arrays. This is so that validation can occur in stages. Each stage runs in series, and all methods within a stage run in parallel. This allows for defining a single function which can 'shortcircuit' on cheap validation before more expensive validation runs.