Before asking data from the System we need to know the resulting structure, that's why we need to implement Objects representing data in a formal way.
It constantly happens that the same Domain or Aggregate could be represented in multiple ways based on the request purpose, such as in our case, we have two requirements:
The list of all TodoList
The single TodoList
In the first case, we only need generic information to explore the situation and maybe peek at a particular list, in the second case, probably we need a more specific representation.
This separation helps us to optimize requests, traffic and workloads.