An implementation of the InventoryItem domain with F#