For a F# dev this kind of pattern matching is very natural. The cool thing with Active patterns is that they can deconstruct