Explore domain modeling through functional programming in this 52-minute conference talk. Learn how statically typed functional languages offer a unique approach to types, making them valuable tools for self-documentation and business rule encoding. Discover techniques to leverage the type system for fine-grained domain representation and compile-time correctness checks. Gain insights into using types as part of a domain-driven design process, illustrated with simple real-world examples in F#. Delve into topics such as algebraic type systems, sum types, pattern matching, optional values, and business rule implementation. Suitable for all skill levels, this jargon-free presentation requires no prior F# experience and demonstrates how functional programming can enhance domain modeling practices.