F#Design pattern implementation in F#