On thing about the PCRE module I don't really get is why there are two classes "Plain" and "Widestring", when the only difference seems to be that the first one throws exceptions instead of doing its job whenever a character with a codepoint > 255 is encountered, which doesn't really strike me as a great feature...