anchor.diff:  
   import 'package:collection/collection.dart';
   
  +import 'ast/selector.dart';
   import 'callable.dart';
   import 'environment.dart';
   import 'exception.dart';
  
positive.code:         denominatorUnits: number.denominatorUnits);
    });
  }
  
negative.code:         .map((selector) => selector.assertSelector(allowParent: true))
          .reduce((parent, child) => child.resolveParentSelectors(parent))
          .asSassList;
    });
  
    environment.defineFunction("selector-append", r"$selectors...", (arguments) {
      var selectors = (arguments[0] as SassArgumentList).contents;
      if (selectors.isEmpty) {
        throw new InternalException(
            "\$selectors: At least one selector must be passed.");
      }
  
      return selectors
          .map((selector) => selector.assertSelector())
          .reduce((parent, child) {
        return new SelectorList(child.components.map((complex) {
          var compound = complex.components.first;
          if (compound is CompoundSelector) {
            var newCompound = _prependParent(compound);
            if (newCompound == null) {
              throw new InternalException("Can't append $complex to $parent.");
            }
  
            return new ComplexSelector(
                [newCompound]..addAll(complex.components.skip(1)));
          } else {
            throw new InternalException("Can't append $complex to $parent.");
          }
        })).resolveParentSelectors(parent);
      }).asSassList;
    });
  
    // ## Introspection
  