Raise TypeError if value doesn't satisfy the constraints
        for use on instance inst.

def check(self, inst, value):
        """Raise TypeError if value doesn't satisfy the constraints
        for use on instance inst.
        """
        if not (self.or_none and value is None):
            if self.seq:
                self.checktype_seq(value, self.kind,
                                   unique=self.unique, inst=inst)
            else:
                self.checktype(value, self.kind, inst=inst)