Collecting logs in a folder: scatter+input array to `ExpressionTool`

Hello,
Following this, I’m using an ExpressionTool to put the logs of my workflow tasks in a folder.
I’m scattering through the inputs of my tasks, processing multiple files at once. So task1 and task2 have the scatter keyword.
An example of my workflow:

inputs:
  evt: File[]
steps:
  task1:
    run: task1.cwl
    scatter: evt
    in:
      evt: evt
    out: [out, log]

  task1:
    run: task2.cwl
    scatter: evt
    in:
      evt: task1/out
    out: [out, log]

Now, I can manage to do what I want by appending a step group_logs in my workflow using this kind of syntax:

group_logs:
 run: group_files.cwl
 in:
   file1: task1/log
   file2: task2/log
 out: [out]

where group_files.cwl is:

cwlVersion: v1.2
class: ExpressionTool
requirements:
  InlineJavascriptRequirement: {}
inputs:
  file1: File[]
  file2: File[]
outputs:
  out: Directory
expression: |
  ${
    return {"out": {
      "class": "Directory", 
      "basename": "logs",
      "listing": [...inputs.file1, ...inputs.file2]
    } };
  }

and it works well.

But I’d like to be more flexible by using a single File[] as input to the ExpressionTool:

group_logs:
  run: group_files_array.cwl
  in: 
    files: [task1/log, task2/log]
  out: [out]

defining this analogous ExpressionTool group_files_array.cwl:

cwlVersion: v1.2
class: ExpressionTool
requirements:
  InlineJavascriptRequirement: {}
inputs:
  files: File[]
outputs:
  out: Directory
expression: |
  ${
    return {"out": {
      "class": "Directory", 
      "basename": "logs",
      "listing": [...inputs.files]
    } };
  }

Unfortunately this fails with:

Source 'log' of type {"type": "array", "items": "File"} is
incompatible with sink 'files' of type {"type": "array", "items": "File"}
source has linkMerge method merge_nested

I can’t understand what’s the problem, any help?
Probably I can’t see where to put an eventual: linkMerge: merge_flattened.

Thanks a lot!