I understand why url_encode does not encoding the scheme. However, in my use case, the URLs I need to encode are being used as URI identifiers that get passed to a REST API, and so they need to be encoded. It would be great if there was an opt-in reserved = TRUE or similar argument to encode these.