Validates that items in the list are of the type specified.

        Returns the input list if it's valid, or raises an ArgumentError if
        it's not.

def validate_items(self, input_list):
        """Validates that items in the list are of the type specified.

        Returns the input list if it's valid, or raises an ArgumentError if
        it's not."""
        output_list = []
        for item in input_list:
            valid = self.list_item_type.validate(item, self.item_name)
            output_list.append(valid)

            # this might lead to confusing error messages.  tbh, we need to
            # figure out a better way to do validation and error handling here,
            # but i'm brute forcing this a bit so that we have something
            # workable
        return output_list