ConstReadonlycanonize: typeof keyexprCanonizeRewrites a key expression into its canonical form, or null if it is
malformed.
Two expressions that select the same data have one canonical form, so
canonizing before comparing or routing avoids treating a/**/**/b and
a/**/b as different.
ReadonlyisCanon: typeof keyexprIsCanonReports whether a key expression is already in its canonical form.
ReadonlyisValid: typeof keyexprIsValidReports whether a key expression is well formed.
Readonlymatches: typeof keyexprMatchesReports whether a pattern selects a key.
The rules a Zenoh key expression obeys.