40 columns                              |
### An invocation expression is a function call where the function is itself
### an expression like `(x + y)(arg)` and not a simple name like `foo(arg)`.
>>> With type arguments, unsplit.
(fn)<T, S>(1, 2);
<<<
(fn)<T, S>(1, 2);
>>> Prefer to split value arguments instead of type arguments.
(longFunction)<TypeArgument>(valueArgument);
<<<
(longFunction)<TypeArgument>(
  valueArgument,
);
>>> Split both type and value arguments.
(longFunction)<First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth>(first, second, third, fourth, fifth, sixth, seventh, eighth);
<<<
(longFunction)<
  First,
  Second,
  Third,
  Fourth,
  Fifth,
  Sixth,
  Seventh,
  Eighth
>(
  first,
  second,
  third,
  fourth,
  fifth,
  sixth,
  seventh,
  eighth,
);
