ASCIIString is a subtype of String; therefore s@(ASCIIString traits) as: a@(ByteArray traits) will always be called in preference to name@(String traits) as: _@(Symbol traits) even though Symbol is a subtype of ByteArray. Nasty. Tony