Modeling Finite States with F# Discriminated Unions and Exhaustive Pattern Matching
Learn how F# discriminated unions with exhaustive pattern matching make illegal states unrepresentable and give compiler warnings when you forget to handle a new state.