pattern matching with maps
more pattern matching examples with maps