Playing.Cards, written in C#, focused on extensibility and the Chain of Responsibility pattern. This port uses F# for domain modelling, resulting in a much smaller library.
- No need for null (checks)
- Workflows in continuation-passing style
- Discriminated unions as an alternative for small object hierarchies
- Without subclassing we can use value types all the way through (comparison for free)