anchor.diff:    queryServicesByTargetName = serviceActivationMapping: targetName: infrastructure: targetProperty:
       if serviceActivationMapping == [] then []
       else
  -      if (head serviceActivationMapping).target == getAttr targetProperty (getAttr targetName infrastructure)
  +      let
  +        target = getAttr targetName infrastructure;
  +      in
  +      if (head serviceActivationMapping).target == getTargetProperty targetProperty target
         then [ (head serviceActivationMapping).service ] ++ (queryServicesByTargetName (tail serviceActivationMapping) targetName infrastructure targetProperty)
         else queryServicesByTargetName (tail serviceActivationMapping) targetName infrastructure targetProperty
     ;
  
positive.code:     ) (attrNames distribution))
    ;
    
    getTargetProperty = targetProperty: target:
      if target ? targetProperty then getAttr (target.targetProperty) target
      else getAttr targetProperty target
  
negative.code:   generateProfileManifest = serviceActivationMapping: targetName: infrastructure: targetProperty:
      if serviceActivationMapping == [] then []
      else
        let
          target = getAttr targetName infrastructure;
        in
        if (head serviceActivationMapping).target == getTargetProperty targetProperty target
        then [ (head serviceActivationMapping).service (head serviceActivationMapping).type ] ++ (generateProfileManifest (tail serviceActivationMapping) targetName infrastructure targetProperty)
        else generateProfileManifest (tail serviceActivationMapping) targetName infrastructure targetProperty
    ;
  