On 27 Mar 2008, at 17:51, Luke Palmer wrote: > A more standard way to do this would be: > > data List a = List (Ordinal -> a) Ordinal I used data List a = Empty | (Ordinal->a) :+ Ordinal which might then be simplified by dropping "Empty". Hans Aberg