anchor.diff:            Package ‘${attrs.name or "«name-missing»"}’ in ${pos''} ${errormsg}, refusing to evaluate.
   
             '' + ((builtins.getAttr reason remediation) attrs));
  +
  +      metaTypes = with lib.types; {
  +        # These keys are documented
  +        description = str;
  +        longDescription = str;
  +        branch = str;
  +        homepage = str;
  +        downloadPage = str;
  +        license = either (listOf lib.types.attrs) lib.types.attrs;
  +        maintainers = listOf str;
  +        priority = int;
  +        platforms = listOf str;
  +        hydraPlatforms = listOf str;
  +        broken = bool;
  +
  +        # Weirder stuff that doesn't appear in the documentation?
  +        version = str;
  +        updateWalker = bool;
  +        executables = listOf str;
  +      };
  +
  +      checkMetaAttr = k: v:
  +        if metaTypes?${k} then
  +          if metaTypes.${k}.check v then null else "key '${k}' has a value of an invalid type; expected ${metaTypes.${k}.description}"
  +        else "key '${k}' is unrecognized; expected one of: \n\t      [${lib.concatMapStringsSep ", " (x: "'${x}'") (lib.attrNames metaTypes)}]";
  +      checkMeta = meta: if shouldCheckMeta then lib.remove null (lib.mapAttrsToList checkMetaAttr meta) else [];
   
         # Check if a derivation is valid, that is whether it passes checks for
         # e.g brokenness or license.
  
positive.code:         broken = remediate_whitelist "Broken";
          blacklisted = x: "";
          insecure = remediate_insecure;
        };
        remediate_whitelist = allow_attr: attrs:
          ''
  
negative.code: }:
  
  let
  
    shouldCheckMeta = config.checkMeta or false;
  
    allowUnfree = config.allowUnfree or false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1";
  
  