Would it not bet better is String were a typeclass instead of a data type. Then the string operations could be redefined by implementation, so you may have strings as lists or strings as arrays? Keean.