anchor.diff:  }
   
   
  -// canonicalize an email address
  +/// canonicalize an email address. options is an [options] which defaults to
  +/// `{ lowercase: true }`. With lowercase set to true, the local part of the
  +/// email address is lowercased for all domains; the hostname is always
  +/// lowercased and the local part of the email address is always lowercased
  +/// for hosts that are known to be case-insensitive (currently only GMail).
  +/// Normalization follows special rules for known providers: currently,
  +/// GMail addresses have dots removed in the local part and are stripped of
  +/// tags (e.g. some.one+tag@gmail.com becomes someone@gmail.com) and all
  +/// @googlemail.com addresses are normalized to @gmail.com.
   String normalizeEmail(String email, [Map options]) {
     options = _merge(options, _default_normalize_email_options);
     if (isEmail(email) == false) {
  
positive.code:   }
  }
  
  // convert the input to a float, or NaN if the input is not a float
  double toDouble(String str) {
    return toFloat(str);
  }
  
  
  // convert the input to an integer, or NaN if the input is not an integer
  num toInt(String str, {int radix:10}) {
    try {
      return int.parse(str, radix:radix);
  
negative.code: }
  
  
  /// convert the input to a boolean Everything except for '0', 'false' and ''
  /// returns true. In [strict] mode only '1' and 'true' return true.
  bool toBoolean(String str, [bool strict]) {
    if (strict == true) {
      return str == '1' || str == 'true';
  