code: func prependEmptySchemeIfAbsent(u string) (string, bool) {
  	if hasScheme(u) {
  		return u, false
  	}
  
  	colon := strings.Index(u, ":")
  	slash := strings.Index(u, "/")
  
  	if colon >= 0 && (slash < 0 || colon < slash) {
  		// First path segment has a colon, assumed that it's a
  		// scheme-less URL. Append an empty scheme on top to
  		// satisfy RFC 3986 §3.3, and `net/url.Parse()`.
  		return fmt.Sprintf("//%s", u), true
  	}
  	return u, true
  }
docs: // prependEmptySchemeIfAbsent prepends an empty scheme "//" if none was found in
  // the URL in order to satisfy RFC 3986 §3.3, and `net/url.Parse()`.
  //
  // It returns a string parse-able with `net/url.Parse()` and a boolean whether
  // or not an empty scheme was added.