anchor.diff:  
       enableIntel2200BGFirmware = mkOption {
         default = false;
  +      merge = obsoleteMerge;
         description = "
           Turn on this option if you want firmware for the Intel
           PRO/Wireless 2200BG to be loaded automatically.  This is
  
positive.code: 
      enableIntel3945ABGFirmware = mkOption {
        default = false;
        description = "
          This option enables automatic loading of the firmware for the Intel
          PRO/Wireless 3945ABG.
  
negative.code:   inherit (pkgs.lib) mkOption;
    inherit (builtins) head tail;
  
    obsolete = what: f: name:
      if builtins ? trace then
        builtins.trace "${name}: Obsolete ${what}." f name
      else f name;
  
    obsoleteMerge =
      obsolete "option" pkgs.lib.mergeDefaultOption;
  
    # temporary modifications.
    # backward here means that expression could either be a value or a
    # function which expects to have a pkgs argument.
    optionalPkgs = name: x:
      if __isFunction x
      then obsolete "notation" (name: x pkgs) name
      else x;
  
    backwardPkgsFunListMerge = name: list:
      pkgs.lib.concatMap (optionalPkgs name) list;
  
    backwardPkgsFunMerge = name: list:
      if list != [] && tail list == []
      then optionalPkgs name (head list)
      else abort "${name}: Defined at least twice.";
  
  in
  
  {
  