Crafting Code in F#
It's odd that F# core library does not contain Map.keys/Map.values functions. Otherwise, the code would be a bit more shorter.
However, maps aren't used in static languages like F# to represent domain types. Hence, the more idiomatic version:
(the Fact attribute is from xUnit.net library, and =? operator is from wonderful Unquote one).