Specifying a more complete type here would be instructive. It would answer the question: should they implement it for List, or for any Enum? If List, then there's a better technique than using Enum.reduce using recursion that doesn't need to reverse the result.