A macro that a template defines with {% macro %}, or the caller of a {% call %} block, which has no name.
params is a list of {name, default_expr_or_nil}, special_names lists which of caller, varargs and kwargs the body uses, and frames holds the scopes around the definition, which the body can read.