A function call, f(args) or target.f(args).
function is the name as written, or for a namespaced function such as
math.greatest(...), with its namespace; target is the receiver of a
method call and nil otherwise.
Operators are calls too, with CEL's internal names: _+_, _==_, !_,
-_, _&&_, _||_, _?_:_, _[_], _[?_], @in, .... So is an enum
constructor such as pkg.Enum(1), with function the enum's full name
and overload_id "enum_constructor".
overload_id is the overload the checker chose, such as "add_int64".
When that depends on types known only when evaluating, it names the
dispatch instead, such as "_+__dyn" for dyn_value + 1.
Summary
Types
@type t() :: %CEL.Expr.Call{ args: [CEL.Expr.t()], function: String.t(), id: CEL.Checked.expr_id(), overload_id: String.t(), target: CEL.Expr.t() | nil, type: CEL.Expr.type() }