Before 1.8 the b_sanitize option was a combo option, which is an enumerated set of values. In 1.8 this was changed to a free-form array of options where available sanitizers are not hardcoded anymore but instead verified via a compiler check.
This solves a number of longstanding issues such as:
To not break backwards compatibility, calling get_option('b_sanitize') continues to return the configured value as a string, with a guarantee that address,undefined remains ordered.