rewrite based on stringmap 0.2.0 (don't rely on ES5, replace aux with hasProto, type-checks and more)
0.2.0