typing: ANew distinguish the type of the class and the returned type