if not isinstance(value, self.value_type):
            raise ValueError("expected {}, got {}".format(self.value_type, type(value)))