Okay, my bad - case-insensitive IS doing the right thing for ByteString. (At least if you believe that treating ByteString as ISO-8859-1 encoded is the right thing!)
However, note that it is folding two different ways:
In 0.4.0.2 and earlier, it was mapping Data.Char's toLower for all types except Text (where it was using Text's toCaseFold)
From 0.4.0.3 and on, it is using Text's toCaseFold for all types, except ByteString, where it uses it's own toLower function optimized for just ISO-8859-1.
- Mark