Add support for ImmutableDictionary

This references issue #23. If you could elaborate where this falls down? Seems workable to me.