On Wed, Jul 15, 2009 at 08:27:04AM +1000, John Ky wrote: > a :: Data > > let b = getNext a > let c = getNext b > > c == a -- Gives True What do you mean? This works type Data = () getNext = id but I guess this is not what you meant ;). -- Felipe.