Add an implementation of an exported map and move the actual implementations
into the header file, since otherwise they won't be usable as templates.