Inspired by the example in Scott Wlaschin’s F# book: Domain Modeling Made Functional.
Download for better results.