Should this AA stuff really be inside the else?  Is this going to sometimes break `cast(void)AA`?