
Hi, OK, I have understood your response to my reply, and as far as I can tell, your (Christophe's) reasoning is sound, both in your response to my and to Gary's comments so far. Still, I had the somewhat nagging feeling that there is some deeper issue involved here, and I think I am getting closer (although I am not 100% sure yet). So here is my current take on this: In CDR 3 you relax a restriction stated in ANSI CL. However, you may have gone too far here, in the sense that after accepting CDR 3, it may not be clear anymore what sequences actually are. To put it as a question: Which subset of the functions defined in the Sequence Dictionary must a subtype of sequence implement? Is it allowed to signal errors for some functions? May these functions have undefined consequences? Under what circumstances? For example, must LENGTH always return a number? Or take COPY-SEQ: The HyperSpec clearly specifies what happens for lists and for vectors. What happens here for other sequences? As long as the only kinds of sequences that can be created are lists and vectors, there is no ambiguity here. Once this becomes explicitly open for arbitrary extensions - then what? Don't you have to define a number of constraints on the possible subtypes of sequence that are not lists or vectors here? Pascal P.S.: Please don't understand this as an attack. I am just trying to shake the tree to see what falls out. ;) -- Pascal Costanza, mailto:pc@p-cos.net, http://p-cos.net Vrije Universiteit Brussel, Programming Technology Lab Pleinlaan 2, B-1050 Brussel, Belgium