Should we keep having methods for different eras? What to do about parametrising algebraic data types in JS?
Proposal:
- If it we are happy with having two functions (one for current era and one for upcoming), I think it is simpler.
- The moment we have more than two, or the number of functions is too high, then I would go with "strings". You can specify the literal strings in the types, so it is type safe, and it is simple.
- If we need more sophisticated algebraic datatypes (nested or with parameters), I would go with objects a la OOP.