code: func parsePatchPathEscaped(str string) (path storage.Path, ok bool) {
  	path, ok = storage.ParsePathEscaped(str)
  	if !ok {
  		return
  	}
  	for i := range path {
  		// RFC 6902 section 4: "[The "path" member's] value is a string containing
  		// a JSON-Pointer value [RFC6901] that references a location within the
  		// target document (the "target location") where the operation is performed."
  		//
  		// RFC 6901 section 3: "Because the characters '~' (%x7E) and '/' (%x2F)
  		// have special meanings in JSON Pointer, '~' needs to be encoded as '~0'
  		// and '/' needs to be encoded as '~1' when these characters appear in a
  		// reference token."
  
  		// RFC 6901 section 4: "Evaluation of each reference token begins by
  		// decoding any escaped character sequence.  This is performed by first
  		// transforming any occurrence of the sequence '~1' to '/', and then
  		// transforming any occurrence of the sequence '~0' to '~'.  By performing
  		// the substitutions in this order, an implementation avoids the error of
  		// turning '~01' first into '~1' and then into '/', which would be
  		// incorrect (the string '~01' correctly becomes '~1' after transformation)."
  		path[i] = strings.Replace(path[i], "~1", "/", -1)
  		path[i] = strings.Replace(path[i], "~0", "~", -1)
  	}
  	return
  }
docs: // parsePatchPathEscaped returns a new path for the given escaped str.
  // This is based on storage.ParsePathEscaped so will do URL unescaping of
  // the provided str for backwards compatibility, but also handles the
  // specific escape strings defined in RFC 6901 (JSON Pointer) because
  // that's what's mandated by RFC 6902 (JSON Patch).