anchor.diff:      var needsSeparator = false;
   
       var parts = [part1, part2, part3, part4, part5, part6, part7, part8];
  -    for (var i = 1; i < parts.length; i++) {
  -      if (parts[i] != null && parts[i - 1] == null) {
  -        throw new ArgumentError("join(): part ${i - 1} was null, but part $i "
  -            "was not.");
  -      }
  -    }
  +    _validateArgList("join", parts);
   
       for (var part in parts) {
         if (part == null) continue;
  
positive.code: ///
  ///     withoutExtension('path/to/foo.dart'); // -> 'path/to/foo'
  String withoutExtension(String path) => _builder.withoutExtension(path);
  
  /// An instantiable class for manipulating paths. Unlike the top-level
  /// functions, this lets you explicitly select what platform the paths will use.
  
negative.code:   ///     builder.resolve('path', 'to', 'foo'); // -> 'root/path/to/foo'
    String resolve(String part1, [String part2, String part3, String part4,
                String part5, String part6, String part7]) {
      return join(root, part1, part2, part3, part4, part5, part6, part7);
    }
  
  