clean up special casing of non-portable builtin types, add option for disabling errors on unknown names