Why do we need to list the members of the parameter struct twice?