Domain modeling in F#