prepare for canonicalization. no behavior change yet.