>> I don't think I will ever fully get used to 'and' being of type >> (bool, T) -> T > It's not. It's (T, T) -> T! It's (T1, T2) -> union(T1, T2) -- Andrew Koenig, ark at research.att.com, http://www.research.att.com/info/ark