refactor func_id
nothing important, really
typenameid
use typenameid instead M::typeName()
arg_id::operator[]