tolerate arbitrary illegal chars in global names, lower all of them to _