I agree with Scott that we could open a real can of worms here. If COERCE is generalized, then DEFTYPE needs a whole new hack to allow the specification of how objects of the new type are coerced to other types. And that means that DEFSTRUCT needs the same extension. Let's just drop it now. - Paul -------