anchor.diff:      netdevConfig = mkOption {
         default = {};
         example = { Name = "mybridge"; Kind = "bridge"; };
  -      type = types.attrsOf unitOption;
  +      type = types.addCheck (types.attrsOf unitOption) checkNetdev;
         description = ''
           Each attribute in this set specifies an option in the
           <literal>[Netdev]</literal> section of the unit.  See
  
positive.code: 
  let
  
    checkService = v:
      let assertValueOneOf = name: values: attr:
            let val = attr.${name};
            in optional (attr ? ${name} && !elem val values) "Systemd service field `${name}' cannot have value `${val}'.";
          checkType = assertValueOneOf "Type" ["simple" "forking" "oneshot" "dbus" "notify" "idle"];
          checkRestart = assertValueOneOf "Restart" ["no" "on-success" "on-failure" "on-abort" "always"];
          errors = concatMap (c: c v) [checkType checkRestart];
      in if errors == [] then true
         else builtins.trace (concatStringsSep "\n" errors) false;
  
    unitOption = mkOptionType {
      name = "systemd option";
  
negative.code:     bondConfig = mkOption {
        default = {};
        example = { Mode = "802.3ad"; };
        type = types.addCheck (types.attrsOf unitOption) checkBond;
        description = ''
          Each attribute in this set specifies an option in the
          <literal>[Bond]</literal> section of the unit.  See
  