code: func Parse(json string) Result {
  	var value Result
  	for i := 0; i < len(json); i++ {
  		if json[i] == '{' || json[i] == '[' {
  			value.Type = JSON
  			value.Raw = json[i:] // just take the entire raw
  			break
  		}
  		if json[i] <= ' ' {
  			continue
  		}
  		switch json[i] {
  		default:
  			if (json[i] >= '0' && json[i] <= '9') || json[i] == '-' {
  				value.Type = Number
  				value.Raw, value.Num = tonum(json[i:])
  			} else {
  				return Result{}
  			}
  		case 'n':
  			value.Type = Null
  			value.Raw = tolit(json[i:])
  		case 't':
  			value.Type = True
  			value.Raw = tolit(json[i:])
  		case 'f':
  			value.Type = False
  			value.Raw = tolit(json[i:])
  		case '"':
  			value.Type = String
  			value.Raw, value.Str = tostr(json[i:])
  		}
  		break
  	}
  	return value
  }
docs: // Parse parses the json and returns a result.
  //
  // This function expects that the json is well-formed, and does not validate.
  // Invalid json will not panic, but it may return back unexpected results.
  // If you are consuming JSON from an unpredictable source then you may want to
  // use the Valid function first.