40 columns                              |
>>> Block comment before comma before block argument.
function(first /* comment */, [second, third]);
<<<
function(first /* comment */, [
  second,
  third,
]);
>>> Block comment after comma before block argument.
function(first, /* comment */ [second, third]);
<<<
function(first, /* comment */ [
  second,
  third,
]);
>>> Block comment inside block argument.
function(first, [/* comment */ second, third]);
<<<
function(first, [
  /* comment */ second,
  third,
]);
>>>
function(first, [second, third /* comment */]);
<<<
function(first, [
  second,
  third /* comment */,
]);
>>> Block comment after block argument.
function([first, second] /* comment */, third);
<<<
function([
  first,
  second,
] /* comment */, third);
>>> Block comment after comma after block argument.
function([first, second], /* comment */ third);
<<<
function([
  first,
  second,
], /* comment */ third);
>>> Block comment after argument after block argument.
function([first, second], third /* comment */);
<<<
function([
  first,
  second,
], third /* comment */);
>>> Line comment before comma before block argument.
function(first // comment
, [second, third]);
<<<
function(
  first, // comment
  [second, third],
);
>>> Line comment after comma before block argument.
function(first, // comment
[second, third]);
<<<
function(
  first, // comment
  [second, third],
);
>>> Line comment inside block argument.
function(first, [// comment
second, third]);
<<<
function(first, [
  // comment
  second,
  third,
]);
>>>
function(first, [second, third // comment
]);
<<<
function(first, [
  second,
  third, // comment
]);
>>> Line comment after block argument.
function([first, second] // comment
, third);
<<<
function(
  [first, second], // comment
  third,
);
>>> Line comment after comma after block argument.
function([first, second], // comment
third);
<<<
function(
  [first, second], // comment
  third,
);
>>> Line comment after argument after block argument.
function([first, second], third // comment
);
<<<
function(
  [first, second],
  third, // comment
);