Some more improvements

- Using Records instead of classes
- Removing MonthType, using Month directly instead
- Simplifying the types used