Working semantic checking for lists