code: function contains(val) {
          var type = toString.call(val);
          if (map[type] === undefined)
              return false;
  
          var key = hash('' + val);
          if (map[type][key] === undefined)
              return false;
  
          var arr = map[type][key];
          for (var i = 0; i < arr.length; ++i) {
              if (arr[i] === val) return true;
          }
  
          return false;
      }
docs: helper functions