This prevent the use of the return type in the function signature and return statement from desynchronizing. With the upcoming changes, such desynchronization would cause a temporary to be used to construct the actual return type.
The return types of the return statements were more readable than those of the function signature, as we used type aliases local to the functions. I didn't want to change the function signatures as that might be visible in the doxygen-generated documentation.
This prevent the use of the return type in the function signature and return statement from desynchronizing. With the upcoming changes, such desynchronization would cause a temporary to be used to construct the actual return type.
The return types of the return statements were more readable than those of the function signature, as we used type aliases local to the functions. I didn't want to change the function signatures as that might be visible in the doxygen-generated documentation.