Accumulate lists creating a result recursively