anchor.diff:          case '@': // string
             var taskId = tasks.registerTask();
             nodeAttrs.observe(attrName, (value) {
  -            dstPathFn.assign(controller, value);
  +            dstPathFn.assign(directive, value);
               tasks.completeTask(taskId);
             });
             break;
  
positive.code:           break;
  
          case '&': // callback
            _bindCallback(dstPathFn, controller, nodeAttrs[attrName], scope);
            break;
        }
      });
  
negative.code:           var watch;
            var lastOneTimeValue;
            watch = scope.watch(nodeAttrs[attrName], (value, _) {
              if ((lastOneTimeValue = dstPathFn.assign(directive, value)) != null && watch != null) {
                  var watchToRemove = watch;
                  watch = null;
                  scope.rootScope.domWrite(() {
  