Leveraging the F# type system to correctly implement a shopping cart | Hacker News Reader