only canonicalize if needed

empty build about 3% faster