There ARE two mappings. The way it exists now simulates the existence of both of them. The way I exampled above generates the second mapping from the first with `API_TYPE_MAP = dict((v,k) for k, v in map.iteritems())`. It might be a little bit confusing and may warrant a comment, but the usage of both of the mappings can be made much simpler and more intuitive than what currently exists.