Immutable state and some date implementation details, including converting between dates and turn number.