anchor.diff:      hasLicense attrs &&
       isUnfree (lib.lists.toList attrs.meta.license) &&
       !allowUnfreePredicate attrs;
  +
  +  showLicense = license: license.shortName or "unknown";
   
     defaultNativeBuildInputs = extraBuildInputs ++
       [ ../../build-support/setup-hooks/move-docs.sh
  
positive.code: 
        licenseAllowed = attrs:
          if hasDeniedUnfreeLicense attrs && !(hasWhitelistedLicense attrs) then
            throwEvalHelp "Unfree" "has an unfree license ‘${builtins.toJSON attrs.meta.license}’ which is not whitelisted"
          else if hasBlacklistedLicense attrs then
            throwEvalHelp "blacklisted" "has the ‘${builtins.toJSON attrs.meta.license}’ license which is blacklisted"
          else if !allowBroken && attrs.meta.broken or false then
            throwEvalHelp "Broken" "is marked as broken"
          else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then
  
negative.code:     lib.lists.all (license:
        let l = lib.licenses.${license.shortName or "BROKEN"} or false; in
        if license == l then true else
          throw ''‘${showLicense license}’ is not an attribute of lib.licenses''
      ) list;
  
    mutuallyExclusive = a: b:
  