Added NewEmptyList to create a correctly typed empty list.