anchor.diff:          transform.addOutput(new Asset.fromString(id, lines.join('\n')));
         })
       );
  -      
  +  }
   }
   
   String _prefixFrom(AssetId asset) => (asset.path.split('/')..removeLast()..add('')).join('/');
positive.code:   
    String get allowedExtensions => '.mixologist.yaml';
      
    Future apply(Transform transform) => transform
        .primaryInput
        .readAsString()
        .then(yaml.loadYaml)
  
negative.code:           forEachAsync(
              config
                .mixins
                .where((name) => !mixins.containsKey(name)),
              (name) => transform
                .getInput(new AssetId(transform.primaryInput.id.package,
                    '${_prefixFrom(transform.primaryInput.id)}$path/name.dart'))
                .then((asset) => asset.read())
                .then((byteStream) => byteStream.pipe(
                    new mixologist.MixinReader()))
                .then((mixin) {
                  mixins[name] = mixin;
                })
                //.catchError((e) {/* Ignore any errors, some files don't exist */})
            )
            .then((_) => mixins)
          ).then((mixins) {
  