advanced types revised