Would it be possible to have certain obvious tuple manipulators? For example if A and B are 2 tuples have an easy way to form the cross product of the 2 tuples? That is if A is of length L, and B is of length M, to form the tuple C of length L+M, containing copies of the elements from both? Also if D is a tuple of length N, and f is a functor taking N arguments (of the right types) find some way to take f(D) == f(D.get(1),D.get(2),...,D.get(N) ) Of course the ... is pseudo code. Fill in the appropriate list. Of course I realize that limitations in the C++ language may prevent doing this for arbitrarily large L, M, or N. But it could be done for L, M, N, large enough so that it is not a practical limitation? -- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117