Wouldn't it be whenever AA was previously invoked? I'm surprised there are any unknowns here.
It has to be done before some parts of semantic, but after others. Eg error messages and template matching still needs to be done on the AA type, but other parts need the actual template type.
