code: function parse(obj, objType, stack) {
    			stack = stack || [];
    			var res,
    			    parser,
    			    parserType,
    			    objIndex = stack.indexOf(obj);
  
    			if (objIndex !== -1) {
    				return "recursion(" + (objIndex - stack.length) + ")";
    			}
  
    			objType = objType || this.typeOf(obj);
    			parser = this.parsers[objType];
    			parserType = typeof parser === "undefined" ? "undefined" : _typeof(parser);
  
    			if (parserType === "function") {
    				stack.push(obj);
    				res = parser.call(this, obj, stack);
    				stack.pop();
    				return res;
    			}
    			return parserType === "string" ? parser : this.parsers.error;
    		}
docs: The objType is used mostly internally, you can fix a (custom) type in advance