anchor.diff:  
       config =
         let
  -        configuredOptions = filterAttrs (_: v: v != null)
  -          (removeAttrs config [ "_module" "brewfileLine" "name" "restart_service" ]);
  +        sCfg = mkProcessedSubmodConfig config;
  +        sCfgSubset = removeAttrs sCfg [ "name" "restart_service" ];
         in
         {
  -        brewfileLine = ''brew "${config.name}"''
  -          + optionalString (configuredOptions != {})
  -            ", ${mkBrewfileLineOptionsListString configuredOptions}"
  -          + optionalString (config.restart_service != null) (
  -            if isBool config.restart_service then
  -              ", restart_service: ${boolToString config.restart_service}"
  -            else ", restart_service: :${config.restart_service}"
  +        brewfileLine =
  +          "brew ${sCfg.name}"
  +          + optionalString (sCfgSubset != { }) ", ${mkBrewfileLineOptionsListString sCfgSubset}"
  +          # We need to handle the `restart_service` option seperately since it can be either bool
  +          # or the string value "changed".
  +          + optionalString (sCfg ? restart_service) (
  +            ", restart_service: " + (
  +              if isBool config.restart_service then sCfg.restart_service
  +              else ":${config.restart_service}"
  +            )
             );
         };
     };
   
  -  caskOptions = { config, ...  }: {
  +  caskOptions = { config, ... }: {
       options = {
         name = mkOption {
           type = types.str;
  
positive.code:     brewPrefix = mkOption {
        type = types.str;
        default = if pkgs.stdenv.hostPlatform.isAarch64 then "/opt/homebrew/bin" else "/usr/local/bin";
        description = ''
          Customize path prefix where executable of <command>brew</command> is searched for.
        '';
      };
  
  
negative.code:     else abort "The value: ${generators.toPretty v} is not a valid Brewfile value.";
  
    mkBrewfileLineOptionsListString = attrs:
      concatStringsSep ", " (mapAttrsToList (n: v: "${n}: ${v}") attrs);
  
  
    # Submodule helper functions ---------------------------------------------------------------------
  
    mkNullOrBoolOption = args: mkOption (args // {
      type = types.nullOr types.bool;
  