canonical
Returns the canonical form of iri for equivalence comparison: lower-cases the scheme and host, removes ./.. dot-segments, and normalizes percent-encoding via URI. Path case, the trailing slash, and any fragment are preserved — a file x and a container x/, or two different #fragments, are genuinely distinct resources/agents and must NOT be unified. Falls back to the raw string if iri doesn't parse.