Perturbatio #1 I would suggest using my extend method over Klepto's, mine should allow you to use functions that accept a TMap (i.e. MapValues or whatever it is) since it would be cast as a TMap