Is the intent of using int and friends as constructors instead of just coercion functions that I should (eventually) be able to do this: class NonNegativeInt(int): def __init__(self, val): if int(val) < 0: raise ValueError, "Value must be >= 0" int.__init__(self, val) self.a = 47 ... ? Skip