check list is unique and handle multiple errors per key