extern declarations are no longer renamed if they are optional