Do we need both args and arg_types.  If we're storing the whole object could we just use args[name].type instead?