Andrew Gazelka
03/08/2019, 12:27 AMProblem<I,O>
... I
is input, O
is output and implements fun solve(input: I): O
- each problem extends Problem<O>
where input is provided in constructor
- each problem is a top-level function
- each problem is a HOF