A list data structure with OCL constraints to enforce certain properties