Function(
 Function {
  head: Destructured(
   FunctionHeadDestructured {
    ellipsis: false,
    identifier: None,
    arguments: [
     FunctionHeadDestructuredArgument {
      identifier: "config",
      default: None,
     },
     FunctionHeadDestructuredArgument {
      identifier: "lib",
      default: None,
     },
     FunctionHeadDestructuredArgument {
      identifier: "pkgs",
      default: None,
     },
    ],
   },
  ),
  body: With(
   With {
    expression: Identifier(
     Identifier {
      id: "lib",
      span: Span {
       start: Position {
        line: 3,
        column: 6,
       },
       end: Position {
        line: 3,
        column: 9,
       },
      },
     },
    ),
    target: LetIn(
     LetIn {
      bindings: [
       KeyValue(
        BindingKeyValue {
         from: [
          Raw(
           PartRaw {
            content: "cfg",
            span: Span {
             start: Position {
              line: 6,
              column: 3,
             },
             end: Position {
              line: 6,
              column: 6,
             },
            },
           },
          ),
         ],
         to: PropertyAccess(
          PropertyAccess {
           expression: Identifier(
            Identifier {
             id: "config",
             span: Span {
              start: Position {
               line: 6,
               column: 9,
              },
              end: Position {
               line: 6,
               column: 15,
              },
             },
            },
           ),
           attribute_path: [
            Raw(
             PartRaw {
              content: "systemd",
              span: Span {
               start: Position {
                line: 6,
                column: 16,
               },
               end: Position {
                line: 6,
                column: 23,
               },
              },
             },
            ),
           ],
           default: None,
          },
         ),
        },
       ),
       KeyValue(
        BindingKeyValue {
         from: [
          Raw(
           PartRaw {
            content: "lndir",
            span: Span {
             start: Position {
              line: 7,
              column: 3,
             },
             end: Position {
              line: 7,
              column: 8,
             },
            },
           },
          ),
         ],
         to: String(
          String_ {
           parts: [
            Interpolation(
             PartInterpolation {
              expression: PropertyAccess(
               PropertyAccess {
                expression: Identifier(
                 Identifier {
                  id: "pkgs",
                  span: Span {
                   start: Position {
                    line: 7,
                    column: 14,
                   },
                   end: Position {
                    line: 7,
                    column: 18,
                   },
                  },
                 },
                ),
                attribute_path: [
                 Raw(
                  PartRaw {
                   content: "buildPackages",
                   span: Span {
                    start: Position {
                     line: 7,
                     column: 19,
                    },
                    end: Position {
                     line: 7,
                     column: 32,
                    },
                   },
                  },
                 ),
                 Raw(
                  PartRaw {
                   content: "xorg",
                   span: Span {
                    start: Position {
                     line: 7,
                     column: 33,
                    },
                    end: Position {
                     line: 7,
                     column: 37,
                    },
                   },
                  },
                 ),
                 Raw(
                  PartRaw {
                   content: "lndir",
                   span: Span {
                    start: Position {
                     line: 7,
                     column: 38,
                    },
                    end: Position {
                     line: 7,
                     column: 43,
                    },
                   },
                  },
                 ),
                ],
                default: None,
               },
              ),
             },
            ),
            Raw(
             PartRaw {
              content: "/bin/lndir",
              span: Span {
               start: Position {
                line: 7,
                column: 12,
               },
               end: Position {
                line: 7,
                column: 54,
               },
              },
             },
            ),
           ],
           span: Span {
            start: Position {
             line: 7,
             column: 11,
            },
            end: Position {
             line: 7,
             column: 55,
            },
           },
          },
         ),
        },
       ),
       KeyValue(
        BindingKeyValue {
         from: [
          Raw(
           PartRaw {
            content: "systemd",
            span: Span {
             start: Position {
              line: 8,
              column: 3,
             },
             end: Position {
              line: 8,
              column: 10,
             },
            },
           },
          ),
         ],
         to: PropertyAccess(
          PropertyAccess {
           expression: Identifier(
            Identifier {
             id: "cfg",
             span: Span {
              start: Position {
               line: 8,
               column: 13,
              },
              end: Position {
               line: 8,
               column: 16,
              },
             },
            },
           ),
           attribute_path: [
            Raw(
             PartRaw {
              content: "package",
              span: Span {
               start: Position {
                line: 8,
                column: 17,
               },
               end: Position {
                line: 8,
                column: 24,
               },
              },
             },
            ),
           ],
           default: None,
          },
         ),
        },
       ),
      ],
      target: Map(
       Map {
        recursive: true,
        bindings: [
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "shellEscape",
              span: Span {
               start: Position {
                line: 11,
                column: 3,
               },
               end: Position {
                line: 11,
                column: 14,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "s",
              },
             ),
             body: FunctionApplication(
              FunctionApplication {
               function: Identifier(
                Identifier {
                 id: "replaceChars",
                 span: Span {
                  start: Position {
                   line: 11,
                   column: 21,
                  },
                  end: Position {
                   line: 11,
                   column: 33,
                  },
                 },
                },
               ),
               arguments: [
                List(
                 List {
                  elements: [
                   String(
                    String_ {
                     parts: [
                      Raw(
                       PartRaw {
                        content: "\\",
                        span: Span {
                         start: Position {
                          line: 11,
                          column: 37,
                         },
                         end: Position {
                          line: 11,
                          column: 39,
                         },
                        },
                       },
                      ),
                     ],
                     span: Span {
                      start: Position {
                       line: 11,
                       column: 36,
                      },
                      end: Position {
                       line: 11,
                       column: 40,
                      },
                     },
                    },
                   ),
                  ],
                  span: Span {
                   start: Position {
                    line: 11,
                    column: 34,
                   },
                   end: Position {
                    line: 11,
                    column: 42,
                   },
                  },
                 },
                ),
                List(
                 List {
                  elements: [
                   String(
                    String_ {
                     parts: [
                      Raw(
                       PartRaw {
                        content: "\\\\",
                        span: Span {
                         start: Position {
                          line: 11,
                          column: 46,
                         },
                         end: Position {
                          line: 11,
                          column: 50,
                         },
                        },
                       },
                      ),
                     ],
                     span: Span {
                      start: Position {
                       line: 11,
                       column: 45,
                      },
                      end: Position {
                       line: 11,
                       column: 51,
                      },
                     },
                    },
                   ),
                  ],
                  span: Span {
                   start: Position {
                    line: 11,
                    column: 43,
                   },
                   end: Position {
                    line: 11,
                    column: 53,
                   },
                  },
                 },
                ),
                Identifier(
                 Identifier {
                  id: "s",
                  span: Span {
                   start: Position {
                    line: 11,
                    column: 54,
                   },
                   end: Position {
                    line: 11,
                    column: 55,
                   },
                  },
                 },
                ),
               ],
              },
             ),
             span: Span {
              start: Position {
               line: 11,
               column: 17,
              },
              end: Position {
               line: 11,
               column: 56,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "mkPathSafeName",
              span: Span {
               start: Position {
                line: 13,
                column: 3,
               },
               end: Position {
                line: 13,
                column: 17,
               },
              },
             },
            ),
           ],
           to: FunctionApplication(
            FunctionApplication {
             function: PropertyAccess(
              PropertyAccess {
               expression: Identifier(
                Identifier {
                 id: "lib",
                 span: Span {
                  start: Position {
                   line: 13,
                   column: 20,
                  },
                  end: Position {
                   line: 13,
                   column: 23,
                  },
                 },
                },
               ),
               attribute_path: [
                Raw(
                 PartRaw {
                  content: "replaceChars",
                  span: Span {
                   start: Position {
                    line: 13,
                    column: 24,
                   },
                   end: Position {
                    line: 13,
                    column: 36,
                   },
                  },
                 },
                ),
               ],
               default: None,
              },
             ),
             arguments: [
              List(
               List {
                elements: [
                 String(
                  String_ {
                   parts: [
                    Raw(
                     PartRaw {
                      content: "@",
                      span: Span {
                       start: Position {
                        line: 13,
                        column: 39,
                       },
                       end: Position {
                        line: 13,
                        column: 40,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 38,
                    },
                    end: Position {
                     line: 13,
                     column: 41,
                    },
                   },
                  },
                 ),
                 String(
                  String_ {
                   parts: [
                    Raw(
                     PartRaw {
                      content: ":",
                      span: Span {
                       start: Position {
                        line: 13,
                        column: 43,
                       },
                       end: Position {
                        line: 13,
                        column: 44,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 42,
                    },
                    end: Position {
                     line: 13,
                     column: 45,
                    },
                   },
                  },
                 ),
                 String(
                  String_ {
                   parts: [
                    Raw(
                     PartRaw {
                      content: "\\",
                      span: Span {
                       start: Position {
                        line: 13,
                        column: 47,
                       },
                       end: Position {
                        line: 13,
                        column: 49,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 46,
                    },
                    end: Position {
                     line: 13,
                     column: 50,
                    },
                   },
                  },
                 ),
                 String(
                  String_ {
                   parts: [
                    Raw(
                     PartRaw {
                      content: "[",
                      span: Span {
                       start: Position {
                        line: 13,
                        column: 52,
                       },
                       end: Position {
                        line: 13,
                        column: 53,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 51,
                    },
                    end: Position {
                     line: 13,
                     column: 54,
                    },
                   },
                  },
                 ),
                 String(
                  String_ {
                   parts: [
                    Raw(
                     PartRaw {
                      content: "]",
                      span: Span {
                       start: Position {
                        line: 13,
                        column: 56,
                       },
                       end: Position {
                        line: 13,
                        column: 57,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 55,
                    },
                    end: Position {
                     line: 13,
                     column: 58,
                    },
                   },
                  },
                 ),
                ],
                span: Span {
                 start: Position {
                  line: 13,
                  column: 37,
                 },
                 end: Position {
                  line: 13,
                  column: 59,
                 },
                },
               },
              ),
              List(
               List {
                elements: [
                 String(
                  String_ {
                   parts: [
                    Raw(
                     PartRaw {
                      content: "-",
                      span: Span {
                       start: Position {
                        line: 13,
                        column: 62,
                       },
                       end: Position {
                        line: 13,
                        column: 63,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 61,
                    },
                    end: Position {
                     line: 13,
                     column: 64,
                    },
                   },
                  },
                 ),
                 String(
                  String_ {
                   parts: [
                    Raw(
                     PartRaw {
                      content: "-",
                      span: Span {
                       start: Position {
                        line: 13,
                        column: 66,
                       },
                       end: Position {
                        line: 13,
                        column: 67,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 65,
                    },
                    end: Position {
                     line: 13,
                     column: 68,
                    },
                   },
                  },
                 ),
                 String(
                  String_ {
                   parts: [
                    Raw(
                     PartRaw {
                      content: "-",
                      span: Span {
                       start: Position {
                        line: 13,
                        column: 70,
                       },
                       end: Position {
                        line: 13,
                        column: 71,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 69,
                    },
                    end: Position {
                     line: 13,
                     column: 72,
                    },
                   },
                  },
                 ),
                 String(
                  String_ {
                   parts: [],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 73,
                    },
                    end: Position {
                     line: 13,
                     column: 75,
                    },
                   },
                  },
                 ),
                 String(
                  String_ {
                   parts: [],
                   span: Span {
                    start: Position {
                     line: 13,
                     column: 76,
                    },
                    end: Position {
                     line: 13,
                     column: 78,
                    },
                   },
                  },
                 ),
                ],
                span: Span {
                 start: Position {
                  line: 13,
                  column: 60,
                 },
                 end: Position {
                  line: 13,
                  column: 79,
                 },
                },
               },
              ),
             ],
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "unitNameType",
              span: Span {
               start: Position {
                line: 16,
                column: 3,
               },
               end: Position {
                line: 16,
                column: 15,
               },
              },
             },
            ),
           ],
           to: FunctionApplication(
            FunctionApplication {
             function: PropertyAccess(
              PropertyAccess {
               expression: Identifier(
                Identifier {
                 id: "types",
                 span: Span {
                  start: Position {
                   line: 16,
                   column: 18,
                  },
                  end: Position {
                   line: 16,
                   column: 23,
                  },
                 },
                },
               ),
               attribute_path: [
                Raw(
                 PartRaw {
                  content: "strMatching",
                  span: Span {
                   start: Position {
                    line: 16,
                    column: 24,
                   },
                   end: Position {
                    line: 16,
                    column: 35,
                   },
                  },
                 },
                ),
               ],
               default: None,
              },
             ),
             arguments: [
              String(
               String_ {
                parts: [
                 Raw(
                  PartRaw {
                   content: "[a-zA-Z0-9@%:_.\\-]+[.](service|socket|device|mount|automount|swap|target|path|timer|scope|slice)",
                   span: Span {
                    start: Position {
                     line: 16,
                     column: 37,
                    },
                    end: Position {
                     line: 16,
                     column: 134,
                    },
                   },
                  },
                 ),
                ],
                span: Span {
                 start: Position {
                  line: 16,
                  column: 36,
                 },
                 end: Position {
                  line: 16,
                  column: 135,
                 },
                },
               },
              ),
             ],
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "makeUnit",
              span: Span {
               start: Position {
                line: 18,
                column: 3,
               },
               end: Position {
                line: 18,
                column: 11,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "unit",
                },
               ),
               body: IfThenElse(
                IfThenElse {
                 predicate: PropertyAccess(
                  PropertyAccess {
                   expression: Identifier(
                    Identifier {
                     id: "unit",
                     span: Span {
                      start: Position {
                       line: 19,
                       column: 8,
                      },
                      end: Position {
                       line: 19,
                       column: 12,
                      },
                     },
                    },
                   ),
                   attribute_path: [
                    Raw(
                     PartRaw {
                      content: "enable",
                      span: Span {
                       start: Position {
                        line: 19,
                        column: 13,
                       },
                       end: Position {
                        line: 19,
                        column: 19,
                       },
                      },
                     },
                    ),
                   ],
                   default: None,
                  },
                 ),
                 then: FunctionApplication(
                  FunctionApplication {
                   function: PropertyAccess(
                    PropertyAccess {
                     expression: Identifier(
                      Identifier {
                       id: "pkgs",
                       span: Span {
                        start: Position {
                         line: 20,
                         column: 7,
                        },
                        end: Position {
                         line: 20,
                         column: 11,
                        },
                       },
                      },
                     ),
                     attribute_path: [
                      Raw(
                       PartRaw {
                        content: "runCommand",
                        span: Span {
                         start: Position {
                          line: 20,
                          column: 12,
                         },
                         end: Position {
                          line: 20,
                          column: 22,
                         },
                        },
                       },
                      ),
                     ],
                     default: None,
                    },
                   ),
                   arguments: [
                    String(
                     String_ {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "unit-",
                         span: Span {
                          start: Position {
                           line: 20,
                           column: 24,
                          },
                          end: Position {
                           line: 20,
                           column: 51,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "mkPathSafeName",
                             span: Span {
                              start: Position {
                               line: 20,
                               column: 31,
                              },
                              end: Position {
                               line: 20,
                               column: 45,
                              },
                             },
                            },
                           ),
                           arguments: [
                            Identifier(
                             Identifier {
                              id: "name",
                              span: Span {
                               start: Position {
                                line: 20,
                                column: 46,
                               },
                               end: Position {
                                line: 20,
                                column: 50,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 20,
                        column: 23,
                       },
                       end: Position {
                        line: 20,
                        column: 52,
                       },
                      },
                     },
                    ),
                    Map(
                     Map {
                      recursive: false,
                      bindings: [
                       KeyValue(
                        BindingKeyValue {
                         from: [
                          Raw(
                           PartRaw {
                            content: "preferLocalBuild",
                            span: Span {
                             start: Position {
                              line: 21,
                              column: 11,
                             },
                             end: Position {
                              line: 21,
                              column: 27,
                             },
                            },
                           },
                          ),
                         ],
                         to: Identifier(
                          Identifier {
                           id: "true",
                           span: Span {
                            start: Position {
                             line: 21,
                             column: 30,
                            },
                            end: Position {
                             line: 21,
                             column: 34,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       KeyValue(
                        BindingKeyValue {
                         from: [
                          Raw(
                           PartRaw {
                            content: "allowSubstitutes",
                            span: Span {
                             start: Position {
                              line: 22,
                              column: 11,
                             },
                             end: Position {
                              line: 22,
                              column: 27,
                             },
                            },
                           },
                          ),
                         ],
                         to: Identifier(
                          Identifier {
                           id: "false",
                           span: Span {
                            start: Position {
                             line: 22,
                             column: 30,
                            },
                            end: Position {
                             line: 22,
                             column: 35,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Inherit(
                        BindingInherit {
                         from: Some(
                          Identifier(
                           Identifier {
                            id: "unit",
                            span: Span {
                             start: Position {
                              line: 23,
                              column: 20,
                             },
                             end: Position {
                              line: 23,
                              column: 24,
                             },
                            },
                           },
                          ),
                         ),
                         attributes: [
                          Raw(
                           PartRaw {
                            content: "text",
                            span: Span {
                             start: Position {
                              line: 23,
                              column: 26,
                             },
                             end: Position {
                              line: 23,
                              column: 30,
                             },
                            },
                           },
                          ),
                         ],
                         span: Span {
                          start: Position {
                           line: 21,
                           column: 10,
                          },
                          end: Position {
                           line: 23,
                           column: 31,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 21,
                        column: 9,
                       },
                       end: Position {
                        line: 24,
                        column: 10,
                       },
                      },
                     },
                    ),
                    IndentedString(
                     IndentedString {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "name=",
                         span: Span {
                          start: Position {
                           line: 26,
                           column: 1,
                          },
                          end: Position {
                           line: 26,
                           column: 16,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "shellEscape",
                             span: Span {
                              start: Position {
                               line: 26,
                               column: 18,
                              },
                              end: Position {
                               line: 26,
                               column: 29,
                              },
                             },
                            },
                           ),
                           arguments: [
                            Identifier(
                             Identifier {
                              id: "name",
                              span: Span {
                               start: Position {
                                line: 26,
                                column: 30,
                               },
                               end: Position {
                                line: 26,
                                column: 34,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "\nmkdir -p \"$out/$(dirname \"$name\")\"\necho -n \"$text\" > \"$out/$name\"\n",
                         span: Span {
                          start: Position {
                           line: 26,
                           column: 1,
                          },
                          end: Position {
                           line: 29,
                           column: 9,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 25,
                        column: 9,
                       },
                       end: Position {
                        line: 29,
                        column: 11,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 else_: FunctionApplication(
                  FunctionApplication {
                   function: PropertyAccess(
                    PropertyAccess {
                     expression: Identifier(
                      Identifier {
                       id: "pkgs",
                       span: Span {
                        start: Position {
                         line: 31,
                         column: 7,
                        },
                        end: Position {
                         line: 31,
                         column: 11,
                        },
                       },
                      },
                     ),
                     attribute_path: [
                      Raw(
                       PartRaw {
                        content: "runCommand",
                        span: Span {
                         start: Position {
                          line: 31,
                          column: 12,
                         },
                         end: Position {
                          line: 31,
                          column: 22,
                         },
                        },
                       },
                      ),
                     ],
                     default: None,
                    },
                   ),
                   arguments: [
                    String(
                     String_ {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "unit-",
                         span: Span {
                          start: Position {
                           line: 31,
                           column: 24,
                          },
                          end: Position {
                           line: 31,
                           column: 51,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "mkPathSafeName",
                             span: Span {
                              start: Position {
                               line: 31,
                               column: 31,
                              },
                              end: Position {
                               line: 31,
                               column: 45,
                              },
                             },
                            },
                           ),
                           arguments: [
                            Identifier(
                             Identifier {
                              id: "name",
                              span: Span {
                               start: Position {
                                line: 31,
                                column: 46,
                               },
                               end: Position {
                                line: 31,
                                column: 50,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "-disabled",
                         span: Span {
                          start: Position {
                           line: 31,
                           column: 24,
                          },
                          end: Position {
                           line: 31,
                           column: 60,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 31,
                        column: 23,
                       },
                       end: Position {
                        line: 31,
                        column: 61,
                       },
                      },
                     },
                    ),
                    Map(
                     Map {
                      recursive: false,
                      bindings: [
                       KeyValue(
                        BindingKeyValue {
                         from: [
                          Raw(
                           PartRaw {
                            content: "preferLocalBuild",
                            span: Span {
                             start: Position {
                              line: 32,
                              column: 11,
                             },
                             end: Position {
                              line: 32,
                              column: 27,
                             },
                            },
                           },
                          ),
                         ],
                         to: Identifier(
                          Identifier {
                           id: "true",
                           span: Span {
                            start: Position {
                             line: 32,
                             column: 30,
                            },
                            end: Position {
                             line: 32,
                             column: 34,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       KeyValue(
                        BindingKeyValue {
                         from: [
                          Raw(
                           PartRaw {
                            content: "allowSubstitutes",
                            span: Span {
                             start: Position {
                              line: 33,
                              column: 11,
                             },
                             end: Position {
                              line: 33,
                              column: 27,
                             },
                            },
                           },
                          ),
                         ],
                         to: Identifier(
                          Identifier {
                           id: "false",
                           span: Span {
                            start: Position {
                             line: 33,
                             column: 30,
                            },
                            end: Position {
                             line: 33,
                             column: 35,
                            },
                           },
                          },
                         ),
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 32,
                        column: 9,
                       },
                       end: Position {
                        line: 34,
                        column: 10,
                       },
                      },
                     },
                    ),
                    IndentedString(
                     IndentedString {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "name=",
                         span: Span {
                          start: Position {
                           line: 36,
                           column: 1,
                          },
                          end: Position {
                           line: 36,
                           column: 16,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "shellEscape",
                             span: Span {
                              start: Position {
                               line: 36,
                               column: 18,
                              },
                              end: Position {
                               line: 36,
                               column: 29,
                              },
                             },
                            },
                           ),
                           arguments: [
                            Identifier(
                             Identifier {
                              id: "name",
                              span: Span {
                               start: Position {
                                line: 36,
                                column: 30,
                               },
                               end: Position {
                                line: 36,
                                column: 34,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "\nmkdir -p \"$out/$(dirname \"$name\")\"\nln -s /dev/null \"$out/$name\"\n",
                         span: Span {
                          start: Position {
                           line: 36,
                           column: 1,
                          },
                          end: Position {
                           line: 39,
                           column: 9,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 35,
                        column: 9,
                       },
                       end: Position {
                        line: 39,
                        column: 11,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 19,
                   column: 5,
                  },
                  end: Position {
                   line: 39,
                   column: 11,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 18,
                 column: 20,
                },
                end: Position {
                 line: 39,
                 column: 11,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 18,
               column: 14,
              },
              end: Position {
               line: 39,
               column: 11,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "boolValues",
              span: Span {
               start: Position {
                line: 41,
                column: 3,
               },
               end: Position {
                line: 41,
                column: 13,
               },
              },
             },
            ),
           ],
           to: List(
            List {
             elements: [
              Identifier(
               Identifier {
                id: "true",
                span: Span {
                 start: Position {
                  line: 41,
                  column: 17,
                 },
                 end: Position {
                  line: 41,
                  column: 21,
                 },
                },
               },
              ),
              Identifier(
               Identifier {
                id: "false",
                span: Span {
                 start: Position {
                  line: 41,
                  column: 22,
                 },
                 end: Position {
                  line: 41,
                  column: 27,
                 },
                },
               },
              ),
              String(
               String_ {
                parts: [
                 Raw(
                  PartRaw {
                   content: "yes",
                   span: Span {
                    start: Position {
                     line: 41,
                     column: 29,
                    },
                    end: Position {
                     line: 41,
                     column: 32,
                    },
                   },
                  },
                 ),
                ],
                span: Span {
                 start: Position {
                  line: 41,
                  column: 28,
                 },
                 end: Position {
                  line: 41,
                  column: 33,
                 },
                },
               },
              ),
              String(
               String_ {
                parts: [
                 Raw(
                  PartRaw {
                   content: "no",
                   span: Span {
                    start: Position {
                     line: 41,
                     column: 35,
                    },
                    end: Position {
                     line: 41,
                     column: 37,
                    },
                   },
                  },
                 ),
                ],
                span: Span {
                 start: Position {
                  line: 41,
                  column: 34,
                 },
                 end: Position {
                  line: 41,
                  column: 38,
                 },
                },
               },
              ),
             ],
             span: Span {
              start: Position {
               line: 41,
               column: 16,
              },
              end: Position {
               line: 41,
               column: 39,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "digits",
              span: Span {
               start: Position {
                line: 43,
                column: 3,
               },
               end: Position {
                line: 43,
                column: 9,
               },
              },
             },
            ),
           ],
           to: FunctionApplication(
            FunctionApplication {
             function: Identifier(
              Identifier {
               id: "map",
               span: Span {
                start: Position {
                 line: 43,
                 column: 12,
                },
                end: Position {
                 line: 43,
                 column: 15,
                },
               },
              },
             ),
             arguments: [
              Identifier(
               Identifier {
                id: "toString",
                span: Span {
                 start: Position {
                  line: 43,
                  column: 16,
                 },
                 end: Position {
                  line: 43,
                  column: 24,
                 },
                },
               },
              ),
              FunctionApplication(
               FunctionApplication {
                function: Identifier(
                 Identifier {
                  id: "range",
                  span: Span {
                   start: Position {
                    line: 43,
                    column: 26,
                   },
                   end: Position {
                    line: 43,
                    column: 31,
                   },
                  },
                 },
                ),
                arguments: [
                 Integer(
                  Integer {
                   value: "0",
                   span: Span {
                    start: Position {
                     line: 43,
                     column: 32,
                    },
                    end: Position {
                     line: 43,
                     column: 33,
                    },
                   },
                  },
                 ),
                 Integer(
                  Integer {
                   value: "9",
                   span: Span {
                    start: Position {
                     line: 43,
                     column: 34,
                    },
                    end: Position {
                     line: 43,
                     column: 35,
                    },
                   },
                  },
                 ),
                ],
               },
              ),
             ],
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "isByteFormat",
              span: Span {
               start: Position {
                line: 45,
                column: 3,
               },
               end: Position {
                line: 45,
                column: 15,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "s",
              },
             ),
             body: LetIn(
              LetIn {
               bindings: [
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "l",
                     span: Span {
                      start: Position {
                       line: 47,
                       column: 7,
                      },
                      end: Position {
                       line: 47,
                       column: 8,
                      },
                     },
                    },
                   ),
                  ],
                  to: FunctionApplication(
                   FunctionApplication {
                    function: Identifier(
                     Identifier {
                      id: "reverseList",
                      span: Span {
                       start: Position {
                        line: 47,
                        column: 11,
                       },
                       end: Position {
                        line: 47,
                        column: 22,
                       },
                      },
                     },
                    ),
                    arguments: [
                     FunctionApplication(
                      FunctionApplication {
                       function: Identifier(
                        Identifier {
                         id: "stringToCharacters",
                         span: Span {
                          start: Position {
                           line: 47,
                           column: 24,
                          },
                          end: Position {
                           line: 47,
                           column: 42,
                          },
                         },
                        },
                       ),
                       arguments: [
                        Identifier(
                         Identifier {
                          id: "s",
                          span: Span {
                           start: Position {
                            line: 47,
                            column: 43,
                           },
                           end: Position {
                            line: 47,
                            column: 44,
                           },
                          },
                         },
                        ),
                       ],
                      },
                     ),
                    ],
                   },
                  ),
                 },
                ),
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "suffix",
                     span: Span {
                      start: Position {
                       line: 48,
                       column: 7,
                      },
                      end: Position {
                       line: 48,
                       column: 13,
                      },
                     },
                    },
                   ),
                  ],
                  to: FunctionApplication(
                   FunctionApplication {
                    function: Identifier(
                     Identifier {
                      id: "head",
                      span: Span {
                       start: Position {
                        line: 48,
                        column: 16,
                       },
                       end: Position {
                        line: 48,
                        column: 20,
                       },
                      },
                     },
                    ),
                    arguments: [
                     Identifier(
                      Identifier {
                       id: "l",
                       span: Span {
                        start: Position {
                         line: 48,
                         column: 21,
                        },
                        end: Position {
                         line: 48,
                         column: 22,
                        },
                       },
                      },
                     ),
                    ],
                   },
                  ),
                 },
                ),
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "nums",
                     span: Span {
                      start: Position {
                       line: 49,
                       column: 7,
                      },
                      end: Position {
                       line: 49,
                       column: 11,
                      },
                     },
                    },
                   ),
                  ],
                  to: FunctionApplication(
                   FunctionApplication {
                    function: Identifier(
                     Identifier {
                      id: "tail",
                      span: Span {
                       start: Position {
                        line: 49,
                        column: 14,
                       },
                       end: Position {
                        line: 49,
                        column: 18,
                       },
                      },
                     },
                    ),
                    arguments: [
                     Identifier(
                      Identifier {
                       id: "l",
                       span: Span {
                        start: Position {
                         line: 49,
                         column: 19,
                        },
                        end: Position {
                         line: 49,
                         column: 20,
                        },
                       },
                      },
                     ),
                    ],
                   },
                  ),
                 },
                ),
               ],
               target: BinaryOperation(
                BinaryOperation {
                 left: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "elem",
                     span: Span {
                      start: Position {
                       line: 50,
                       column: 8,
                      },
                      end: Position {
                       line: 50,
                       column: 12,
                      },
                     },
                    },
                   ),
                   arguments: [
                    Identifier(
                     Identifier {
                      id: "suffix",
                      span: Span {
                       start: Position {
                        line: 50,
                        column: 13,
                       },
                       end: Position {
                        line: 50,
                        column: 19,
                       },
                      },
                     },
                    ),
                    BinaryOperation(
                     BinaryOperation {
                      left: List(
                       List {
                        elements: [
                         String(
                          String_ {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "K",
                              span: Span {
                               start: Position {
                                line: 50,
                                column: 23,
                               },
                               end: Position {
                                line: 50,
                                column: 24,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 50,
                             column: 22,
                            },
                            end: Position {
                             line: 50,
                             column: 25,
                            },
                           },
                          },
                         ),
                         String(
                          String_ {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "M",
                              span: Span {
                               start: Position {
                                line: 50,
                                column: 27,
                               },
                               end: Position {
                                line: 50,
                                column: 28,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 50,
                             column: 26,
                            },
                            end: Position {
                             line: 50,
                             column: 29,
                            },
                           },
                          },
                         ),
                         String(
                          String_ {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "G",
                              span: Span {
                               start: Position {
                                line: 50,
                                column: 31,
                               },
                               end: Position {
                                line: 50,
                                column: 32,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 50,
                             column: 30,
                            },
                            end: Position {
                             line: 50,
                             column: 33,
                            },
                           },
                          },
                         ),
                         String(
                          String_ {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "T",
                              span: Span {
                               start: Position {
                                line: 50,
                                column: 35,
                               },
                               end: Position {
                                line: 50,
                                column: 36,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 50,
                             column: 34,
                            },
                            end: Position {
                             line: 50,
                             column: 37,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 50,
                          column: 21,
                         },
                         end: Position {
                          line: 50,
                          column: 38,
                         },
                        },
                       },
                      ),
                      operator: Concatenation,
                      right: Identifier(
                       Identifier {
                        id: "digits",
                        span: Span {
                         start: Position {
                          line: 50,
                          column: 42,
                         },
                         end: Position {
                          line: 50,
                          column: 48,
                         },
                        },
                       },
                      ),
                     },
                    ),
                   ],
                  },
                 ),
                 operator: LogicalAnd,
                 right: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "all",
                     span: Span {
                      start: Position {
                       line: 51,
                       column: 10,
                      },
                      end: Position {
                       line: 51,
                       column: 13,
                      },
                     },
                    },
                   ),
                   arguments: [
                    Function(
                     Function {
                      head: Simple(
                       FunctionHeadSimple {
                        identifier: "num",
                       },
                      ),
                      body: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "elem",
                          span: Span {
                           start: Position {
                            line: 51,
                            column: 20,
                           },
                           end: Position {
                            line: 51,
                            column: 24,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Identifier(
                          Identifier {
                           id: "num",
                           span: Span {
                            start: Position {
                             line: 51,
                             column: 25,
                            },
                            end: Position {
                             line: 51,
                             column: 28,
                            },
                           },
                          },
                         ),
                         Identifier(
                          Identifier {
                           id: "digits",
                           span: Span {
                            start: Position {
                             line: 51,
                             column: 29,
                            },
                            end: Position {
                             line: 51,
                             column: 35,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                      span: Span {
                       start: Position {
                        line: 51,
                        column: 15,
                       },
                       end: Position {
                        line: 51,
                        column: 35,
                       },
                      },
                     },
                    ),
                    Identifier(
                     Identifier {
                      id: "nums",
                      span: Span {
                       start: Position {
                        line: 51,
                        column: 37,
                       },
                       end: Position {
                        line: 51,
                        column: 41,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                },
               ),
               span: Span {
                start: Position {
                 line: 46,
                 column: 5,
                },
                end: Position {
                 line: 51,
                 column: 41,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 45,
               column: 18,
              },
              end: Position {
               line: 51,
               column: 41,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "assertByteFormat",
              span: Span {
               start: Position {
                line: 53,
                column: 3,
               },
               end: Position {
                line: 53,
                column: 19,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "group",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "attr",
                  },
                 ),
                 body: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "optional",
                     span: Span {
                      start: Position {
                       line: 54,
                       column: 5,
                      },
                      end: Position {
                       line: 54,
                       column: 13,
                      },
                     },
                    },
                   ),
                   arguments: [
                    BinaryOperation(
                     BinaryOperation {
                      left: HasAttribute(
                       HasAttribute {
                        expression: Identifier(
                         Identifier {
                          id: "attr",
                          span: Span {
                           start: Position {
                            line: 54,
                            column: 15,
                           },
                           end: Position {
                            line: 54,
                            column: 19,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "name",
                             span: Span {
                              start: Position {
                               line: 54,
                               column: 24,
                              },
                              end: Position {
                               line: 54,
                               column: 28,
                              },
                             },
                            },
                           ),
                          },
                         ),
                        ],
                       },
                      ),
                      operator: LogicalAnd,
                      right: UnaryOperation(
                       UnaryOperation {
                        operator: Not,
                        operand: FunctionApplication(
                         FunctionApplication {
                          function: Identifier(
                           Identifier {
                            id: "isByteFormat",
                            span: Span {
                             start: Position {
                              line: 54,
                              column: 35,
                             },
                             end: Position {
                              line: 54,
                              column: 47,
                             },
                            },
                           },
                          ),
                          arguments: [
                           PropertyAccess(
                            PropertyAccess {
                             expression: Identifier(
                              Identifier {
                               id: "attr",
                               span: Span {
                                start: Position {
                                 line: 54,
                                 column: 48,
                                },
                                end: Position {
                                 line: 54,
                                 column: 52,
                                },
                               },
                              },
                             ),
                             attribute_path: [
                              Interpolation(
                               PartInterpolation {
                                expression: Identifier(
                                 Identifier {
                                  id: "name",
                                  span: Span {
                                   start: Position {
                                    line: 54,
                                    column: 55,
                                   },
                                   end: Position {
                                    line: 54,
                                    column: 59,
                                   },
                                  },
                                 },
                                ),
                               },
                              ),
                             ],
                             default: None,
                            },
                           ),
                          ],
                         },
                        ),
                        span: Span {
                         start: Position {
                          line: 54,
                          column: 33,
                         },
                         end: Position {
                          line: 54,
                          column: 60,
                         },
                        },
                       },
                      ),
                     },
                    ),
                    String(
                     String_ {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "Systemd ",
                         span: Span {
                          start: Position {
                           line: 55,
                           column: 8,
                          },
                          end: Position {
                           line: 55,
                           column: 24,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "group",
                           span: Span {
                            start: Position {
                             line: 55,
                             column: 18,
                            },
                            end: Position {
                             line: 55,
                             column: 23,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: " field `",
                         span: Span {
                          start: Position {
                           line: 55,
                           column: 8,
                          },
                          end: Position {
                           line: 55,
                           column: 32,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "name",
                           span: Span {
                            start: Position {
                             line: 55,
                             column: 34,
                            },
                            end: Position {
                             line: 55,
                             column: 38,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "' must be in byte format [0-9]+[KMGT].",
                         span: Span {
                          start: Position {
                           line: 55,
                           column: 8,
                          },
                          end: Position {
                           line: 55,
                           column: 77,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 55,
                        column: 7,
                       },
                       end: Position {
                        line: 55,
                        column: 78,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 53,
                   column: 35,
                  },
                  end: Position {
                   line: 55,
                   column: 78,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 53,
                 column: 28,
                },
                end: Position {
                 line: 55,
                 column: 78,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 53,
               column: 22,
              },
              end: Position {
               line: 55,
               column: 78,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "hexChars",
              span: Span {
               start: Position {
                line: 57,
                column: 3,
               },
               end: Position {
                line: 57,
                column: 11,
               },
              },
             },
            ),
           ],
           to: FunctionApplication(
            FunctionApplication {
             function: Identifier(
              Identifier {
               id: "stringToCharacters",
               span: Span {
                start: Position {
                 line: 57,
                 column: 14,
                },
                end: Position {
                 line: 57,
                 column: 32,
                },
               },
              },
             ),
             arguments: [
              String(
               String_ {
                parts: [
                 Raw(
                  PartRaw {
                   content: "0123456789abcdefABCDEF",
                   span: Span {
                    start: Position {
                     line: 57,
                     column: 34,
                    },
                    end: Position {
                     line: 57,
                     column: 56,
                    },
                   },
                  },
                 ),
                ],
                span: Span {
                 start: Position {
                  line: 57,
                  column: 33,
                 },
                 end: Position {
                  line: 57,
                  column: 57,
                 },
                },
               },
              ),
             ],
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "isMacAddress",
              span: Span {
               start: Position {
                line: 59,
                column: 3,
               },
               end: Position {
                line: 59,
                column: 15,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "s",
              },
             ),
             body: BinaryOperation(
              BinaryOperation {
               left: BinaryOperation(
                BinaryOperation {
                 left: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "stringLength",
                     span: Span {
                      start: Position {
                       line: 59,
                       column: 21,
                      },
                      end: Position {
                       line: 59,
                       column: 33,
                      },
                     },
                    },
                   ),
                   arguments: [
                    Identifier(
                     Identifier {
                      id: "s",
                      span: Span {
                       start: Position {
                        line: 59,
                        column: 34,
                       },
                       end: Position {
                        line: 59,
                        column: 35,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 operator: EqualTo,
                 right: Integer(
                  Integer {
                   value: "17",
                   span: Span {
                    start: Position {
                     line: 59,
                     column: 39,
                    },
                    end: Position {
                     line: 59,
                     column: 41,
                    },
                   },
                  },
                 ),
                },
               ),
               operator: LogicalAnd,
               right: FunctionApplication(
                FunctionApplication {
                 function: Identifier(
                  Identifier {
                   id: "flip",
                   span: Span {
                    start: Position {
                     line: 60,
                     column: 8,
                    },
                    end: Position {
                     line: 60,
                     column: 12,
                    },
                   },
                  },
                 ),
                 arguments: [
                  Identifier(
                   Identifier {
                    id: "all",
                    span: Span {
                     start: Position {
                      line: 60,
                      column: 13,
                     },
                     end: Position {
                      line: 60,
                      column: 16,
                     },
                    },
                   },
                  ),
                  FunctionApplication(
                   FunctionApplication {
                    function: Identifier(
                     Identifier {
                      id: "splitString",
                      span: Span {
                       start: Position {
                        line: 60,
                        column: 18,
                       },
                       end: Position {
                        line: 60,
                        column: 29,
                       },
                      },
                     },
                    ),
                    arguments: [
                     String(
                      String_ {
                       parts: [
                        Raw(
                         PartRaw {
                          content: ":",
                          span: Span {
                           start: Position {
                            line: 60,
                            column: 31,
                           },
                           end: Position {
                            line: 60,
                            column: 32,
                           },
                          },
                         },
                        ),
                       ],
                       span: Span {
                        start: Position {
                         line: 60,
                         column: 30,
                        },
                        end: Position {
                         line: 60,
                         column: 33,
                        },
                       },
                      },
                     ),
                     Identifier(
                      Identifier {
                       id: "s",
                       span: Span {
                        start: Position {
                         line: 60,
                         column: 34,
                        },
                        end: Position {
                         line: 60,
                         column: 35,
                        },
                       },
                      },
                     ),
                    ],
                   },
                  ),
                  Function(
                   Function {
                    head: Simple(
                     FunctionHeadSimple {
                      identifier: "bytes",
                     },
                    ),
                    body: FunctionApplication(
                     FunctionApplication {
                      function: Identifier(
                       Identifier {
                        id: "all",
                        span: Span {
                         start: Position {
                          line: 61,
                          column: 7,
                         },
                         end: Position {
                          line: 61,
                          column: 10,
                         },
                        },
                       },
                      ),
                      arguments: [
                       Function(
                        Function {
                         head: Simple(
                          FunctionHeadSimple {
                           identifier: "byte",
                          },
                         ),
                         body: FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "elem",
                             span: Span {
                              start: Position {
                               line: 61,
                               column: 18,
                              },
                              end: Position {
                               line: 61,
                               column: 22,
                              },
                             },
                            },
                           ),
                           arguments: [
                            Identifier(
                             Identifier {
                              id: "byte",
                              span: Span {
                               start: Position {
                                line: 61,
                                column: 23,
                               },
                               end: Position {
                                line: 61,
                                column: 27,
                               },
                              },
                             },
                            ),
                            Identifier(
                             Identifier {
                              id: "hexChars",
                              span: Span {
                               start: Position {
                                line: 61,
                                column: 28,
                               },
                               end: Position {
                                line: 61,
                                column: 36,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                         span: Span {
                          start: Position {
                           line: 61,
                           column: 12,
                          },
                          end: Position {
                           line: 61,
                           column: 36,
                          },
                         },
                        },
                       ),
                       FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "stringToCharacters",
                           span: Span {
                            start: Position {
                             line: 61,
                             column: 39,
                            },
                            end: Position {
                             line: 61,
                             column: 57,
                            },
                           },
                          },
                         ),
                         arguments: [
                          Identifier(
                           Identifier {
                            id: "bytes",
                            span: Span {
                             start: Position {
                              line: 61,
                              column: 58,
                             },
                             end: Position {
                              line: 61,
                              column: 63,
                             },
                            },
                           },
                          ),
                         ],
                        },
                       ),
                      ],
                     },
                    ),
                    span: Span {
                     start: Position {
                      line: 60,
                      column: 38,
                     },
                     end: Position {
                      line: 61,
                      column: 64,
                     },
                    },
                   },
                  ),
                 ],
                },
               ),
              },
             ),
             span: Span {
              start: Position {
               line: 59,
               column: 18,
              },
              end: Position {
               line: 62,
               column: 6,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "assertMacAddress",
              span: Span {
               start: Position {
                line: 64,
                column: 3,
               },
               end: Position {
                line: 64,
                column: 19,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "group",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "attr",
                  },
                 ),
                 body: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "optional",
                     span: Span {
                      start: Position {
                       line: 65,
                       column: 5,
                      },
                      end: Position {
                       line: 65,
                       column: 13,
                      },
                     },
                    },
                   ),
                   arguments: [
                    BinaryOperation(
                     BinaryOperation {
                      left: HasAttribute(
                       HasAttribute {
                        expression: Identifier(
                         Identifier {
                          id: "attr",
                          span: Span {
                           start: Position {
                            line: 65,
                            column: 15,
                           },
                           end: Position {
                            line: 65,
                            column: 19,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "name",
                             span: Span {
                              start: Position {
                               line: 65,
                               column: 24,
                              },
                              end: Position {
                               line: 65,
                               column: 28,
                              },
                             },
                            },
                           ),
                          },
                         ),
                        ],
                       },
                      ),
                      operator: LogicalAnd,
                      right: UnaryOperation(
                       UnaryOperation {
                        operator: Not,
                        operand: FunctionApplication(
                         FunctionApplication {
                          function: Identifier(
                           Identifier {
                            id: "isMacAddress",
                            span: Span {
                             start: Position {
                              line: 65,
                              column: 35,
                             },
                             end: Position {
                              line: 65,
                              column: 47,
                             },
                            },
                           },
                          ),
                          arguments: [
                           PropertyAccess(
                            PropertyAccess {
                             expression: Identifier(
                              Identifier {
                               id: "attr",
                               span: Span {
                                start: Position {
                                 line: 65,
                                 column: 48,
                                },
                                end: Position {
                                 line: 65,
                                 column: 52,
                                },
                               },
                              },
                             ),
                             attribute_path: [
                              Interpolation(
                               PartInterpolation {
                                expression: Identifier(
                                 Identifier {
                                  id: "name",
                                  span: Span {
                                   start: Position {
                                    line: 65,
                                    column: 55,
                                   },
                                   end: Position {
                                    line: 65,
                                    column: 59,
                                   },
                                  },
                                 },
                                ),
                               },
                              ),
                             ],
                             default: None,
                            },
                           ),
                          ],
                         },
                        ),
                        span: Span {
                         start: Position {
                          line: 65,
                          column: 33,
                         },
                         end: Position {
                          line: 65,
                          column: 60,
                         },
                        },
                       },
                      ),
                     },
                    ),
                    String(
                     String_ {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "Systemd ",
                         span: Span {
                          start: Position {
                           line: 66,
                           column: 8,
                          },
                          end: Position {
                           line: 66,
                           column: 24,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "group",
                           span: Span {
                            start: Position {
                             line: 66,
                             column: 18,
                            },
                            end: Position {
                             line: 66,
                             column: 23,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: " field `",
                         span: Span {
                          start: Position {
                           line: 66,
                           column: 8,
                          },
                          end: Position {
                           line: 66,
                           column: 32,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "name",
                           span: Span {
                            start: Position {
                             line: 66,
                             column: 34,
                            },
                            end: Position {
                             line: 66,
                             column: 38,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "' must be a valid mac address.",
                         span: Span {
                          start: Position {
                           line: 66,
                           column: 8,
                          },
                          end: Position {
                           line: 66,
                           column: 69,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 66,
                        column: 7,
                       },
                       end: Position {
                        line: 66,
                        column: 70,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 64,
                   column: 35,
                  },
                  end: Position {
                   line: 66,
                   column: 70,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 64,
                 column: 28,
                },
                end: Position {
                 line: 66,
                 column: 70,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 64,
               column: 22,
              },
              end: Position {
               line: 66,
               column: 70,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "isPort",
              span: Span {
               start: Position {
                line: 68,
                column: 3,
               },
               end: Position {
                line: 68,
                column: 9,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "i",
              },
             ),
             body: BinaryOperation(
              BinaryOperation {
               left: BinaryOperation(
                BinaryOperation {
                 left: Identifier(
                  Identifier {
                   id: "i",
                   span: Span {
                    start: Position {
                     line: 68,
                     column: 15,
                    },
                    end: Position {
                     line: 68,
                     column: 16,
                    },
                   },
                  },
                 ),
                 operator: GreaterThanOrEqualTo,
                 right: Integer(
                  Integer {
                   value: "0",
                   span: Span {
                    start: Position {
                     line: 68,
                     column: 20,
                    },
                    end: Position {
                     line: 68,
                     column: 21,
                    },
                   },
                  },
                 ),
                },
               ),
               operator: LogicalAnd,
               right: BinaryOperation(
                BinaryOperation {
                 left: Identifier(
                  Identifier {
                   id: "i",
                   span: Span {
                    start: Position {
                     line: 68,
                     column: 25,
                    },
                    end: Position {
                     line: 68,
                     column: 26,
                    },
                   },
                  },
                 ),
                 operator: LessThanOrEqualTo,
                 right: Integer(
                  Integer {
                   value: "65535",
                   span: Span {
                    start: Position {
                     line: 68,
                     column: 30,
                    },
                    end: Position {
                     line: 68,
                     column: 35,
                    },
                   },
                  },
                 ),
                },
               ),
              },
             ),
             span: Span {
              start: Position {
               line: 68,
               column: 12,
              },
              end: Position {
               line: 68,
               column: 35,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "assertPort",
              span: Span {
               start: Position {
                line: 70,
                column: 3,
               },
               end: Position {
                line: 70,
                column: 13,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "group",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "attr",
                  },
                 ),
                 body: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "optional",
                     span: Span {
                      start: Position {
                       line: 71,
                       column: 5,
                      },
                      end: Position {
                       line: 71,
                       column: 13,
                      },
                     },
                    },
                   ),
                   arguments: [
                    BinaryOperation(
                     BinaryOperation {
                      left: HasAttribute(
                       HasAttribute {
                        expression: Identifier(
                         Identifier {
                          id: "attr",
                          span: Span {
                           start: Position {
                            line: 71,
                            column: 15,
                           },
                           end: Position {
                            line: 71,
                            column: 19,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "name",
                             span: Span {
                              start: Position {
                               line: 71,
                               column: 24,
                              },
                              end: Position {
                               line: 71,
                               column: 28,
                              },
                             },
                            },
                           ),
                          },
                         ),
                        ],
                       },
                      ),
                      operator: LogicalAnd,
                      right: UnaryOperation(
                       UnaryOperation {
                        operator: Not,
                        operand: FunctionApplication(
                         FunctionApplication {
                          function: Identifier(
                           Identifier {
                            id: "isPort",
                            span: Span {
                             start: Position {
                              line: 71,
                              column: 35,
                             },
                             end: Position {
                              line: 71,
                              column: 41,
                             },
                            },
                           },
                          ),
                          arguments: [
                           PropertyAccess(
                            PropertyAccess {
                             expression: Identifier(
                              Identifier {
                               id: "attr",
                               span: Span {
                                start: Position {
                                 line: 71,
                                 column: 42,
                                },
                                end: Position {
                                 line: 71,
                                 column: 46,
                                },
                               },
                              },
                             ),
                             attribute_path: [
                              Interpolation(
                               PartInterpolation {
                                expression: Identifier(
                                 Identifier {
                                  id: "name",
                                  span: Span {
                                   start: Position {
                                    line: 71,
                                    column: 49,
                                   },
                                   end: Position {
                                    line: 71,
                                    column: 53,
                                   },
                                  },
                                 },
                                ),
                               },
                              ),
                             ],
                             default: None,
                            },
                           ),
                          ],
                         },
                        ),
                        span: Span {
                         start: Position {
                          line: 71,
                          column: 33,
                         },
                         end: Position {
                          line: 71,
                          column: 54,
                         },
                        },
                       },
                      ),
                     },
                    ),
                    String(
                     String_ {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "Error on the systemd ",
                         span: Span {
                          start: Position {
                           line: 72,
                           column: 8,
                          },
                          end: Position {
                           line: 72,
                           column: 37,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "group",
                           span: Span {
                            start: Position {
                             line: 72,
                             column: 31,
                            },
                            end: Position {
                             line: 72,
                             column: 36,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: " field `",
                         span: Span {
                          start: Position {
                           line: 72,
                           column: 8,
                          },
                          end: Position {
                           line: 72,
                           column: 45,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "name",
                           span: Span {
                            start: Position {
                             line: 72,
                             column: 47,
                            },
                            end: Position {
                             line: 72,
                             column: 51,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "': ",
                         span: Span {
                          start: Position {
                           line: 72,
                           column: 8,
                          },
                          end: Position {
                           line: 72,
                           column: 55,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: PropertyAccess(
                          PropertyAccess {
                           expression: Identifier(
                            Identifier {
                             id: "attr",
                             span: Span {
                              start: Position {
                               line: 72,
                               column: 57,
                              },
                              end: Position {
                               line: 72,
                               column: 61,
                              },
                             },
                            },
                           ),
                           attribute_path: [
                            Raw(
                             PartRaw {
                              content: "name",
                              span: Span {
                               start: Position {
                                line: 72,
                                column: 62,
                               },
                               end: Position {
                                line: 72,
                                column: 66,
                               },
                              },
                             },
                            ),
                           ],
                           default: None,
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: " is not a valid port number.",
                         span: Span {
                          start: Position {
                           line: 72,
                           column: 8,
                          },
                          end: Position {
                           line: 72,
                           column: 95,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 72,
                        column: 7,
                       },
                       end: Position {
                        line: 72,
                        column: 96,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 70,
                   column: 29,
                  },
                  end: Position {
                   line: 72,
                   column: 96,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 70,
                 column: 22,
                },
                end: Position {
                 line: 72,
                 column: 96,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 70,
               column: 16,
              },
              end: Position {
               line: 72,
               column: 96,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "assertValueOneOf",
              span: Span {
               start: Position {
                line: 74,
                column: 3,
               },
               end: Position {
                line: 74,
                column: 19,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "values",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "group",
                  },
                 ),
                 body: Function(
                  Function {
                   head: Simple(
                    FunctionHeadSimple {
                     identifier: "attr",
                    },
                   ),
                   body: FunctionApplication(
                    FunctionApplication {
                     function: Identifier(
                      Identifier {
                       id: "optional",
                       span: Span {
                        start: Position {
                         line: 75,
                         column: 5,
                        },
                        end: Position {
                         line: 75,
                         column: 13,
                        },
                       },
                      },
                     ),
                     arguments: [
                      BinaryOperation(
                       BinaryOperation {
                        left: HasAttribute(
                         HasAttribute {
                          expression: Identifier(
                           Identifier {
                            id: "attr",
                            span: Span {
                             start: Position {
                              line: 75,
                              column: 15,
                             },
                             end: Position {
                              line: 75,
                              column: 19,
                             },
                            },
                           },
                          ),
                          attribute_path: [
                           Interpolation(
                            PartInterpolation {
                             expression: Identifier(
                              Identifier {
                               id: "name",
                               span: Span {
                                start: Position {
                                 line: 75,
                                 column: 24,
                                },
                                end: Position {
                                 line: 75,
                                 column: 28,
                                },
                               },
                              },
                             ),
                            },
                           ),
                          ],
                         },
                        ),
                        operator: LogicalAnd,
                        right: UnaryOperation(
                         UnaryOperation {
                          operator: Not,
                          operand: FunctionApplication(
                           FunctionApplication {
                            function: Identifier(
                             Identifier {
                              id: "elem",
                              span: Span {
                               start: Position {
                                line: 75,
                                column: 34,
                               },
                               end: Position {
                                line: 75,
                                column: 38,
                               },
                              },
                             },
                            ),
                            arguments: [
                             PropertyAccess(
                              PropertyAccess {
                               expression: Identifier(
                                Identifier {
                                 id: "attr",
                                 span: Span {
                                  start: Position {
                                   line: 75,
                                   column: 39,
                                  },
                                  end: Position {
                                   line: 75,
                                   column: 43,
                                  },
                                 },
                                },
                               ),
                               attribute_path: [
                                Interpolation(
                                 PartInterpolation {
                                  expression: Identifier(
                                   Identifier {
                                    id: "name",
                                    span: Span {
                                     start: Position {
                                      line: 75,
                                      column: 46,
                                     },
                                     end: Position {
                                      line: 75,
                                      column: 50,
                                     },
                                    },
                                   },
                                  ),
                                 },
                                ),
                               ],
                               default: None,
                              },
                             ),
                             Identifier(
                              Identifier {
                               id: "values",
                               span: Span {
                                start: Position {
                                 line: 75,
                                 column: 52,
                                },
                                end: Position {
                                 line: 75,
                                 column: 58,
                                },
                               },
                              },
                             ),
                            ],
                           },
                          ),
                          span: Span {
                           start: Position {
                            line: 75,
                            column: 33,
                           },
                           end: Position {
                            line: 75,
                            column: 58,
                           },
                          },
                         },
                        ),
                       },
                      ),
                      String(
                       String_ {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "Systemd ",
                           span: Span {
                            start: Position {
                             line: 76,
                             column: 8,
                            },
                            end: Position {
                             line: 76,
                             column: 24,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "group",
                             span: Span {
                              start: Position {
                               line: 76,
                               column: 18,
                              },
                              end: Position {
                               line: 76,
                               column: 23,
                              },
                             },
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: " field `",
                           span: Span {
                            start: Position {
                             line: 76,
                             column: 8,
                            },
                            end: Position {
                             line: 76,
                             column: 32,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "name",
                             span: Span {
                              start: Position {
                               line: 76,
                               column: 34,
                              },
                              end: Position {
                               line: 76,
                               column: 38,
                              },
                             },
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "' cannot have value `",
                           span: Span {
                            start: Position {
                             line: 76,
                             column: 8,
                            },
                            end: Position {
                             line: 76,
                             column: 60,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "toString",
                               span: Span {
                                start: Position {
                                 line: 76,
                                 column: 62,
                                },
                                end: Position {
                                 line: 76,
                                 column: 70,
                                },
                               },
                              },
                             ),
                             arguments: [
                              PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "attr",
                                  span: Span {
                                   start: Position {
                                    line: 76,
                                    column: 71,
                                   },
                                   end: Position {
                                    line: 76,
                                    column: 75,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Interpolation(
                                  PartInterpolation {
                                   expression: Identifier(
                                    Identifier {
                                     id: "name",
                                     span: Span {
                                      start: Position {
                                       line: 76,
                                       column: 78,
                                      },
                                      end: Position {
                                       line: 76,
                                       column: 82,
                                      },
                                     },
                                    },
                                   ),
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "'.",
                           span: Span {
                            start: Position {
                             line: 76,
                             column: 8,
                            },
                            end: Position {
                             line: 76,
                             column: 86,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 76,
                          column: 7,
                         },
                         end: Position {
                          line: 76,
                          column: 87,
                         },
                        },
                       },
                      ),
                     ],
                    },
                   ),
                   span: Span {
                    start: Position {
                     line: 74,
                     column: 43,
                    },
                    end: Position {
                     line: 76,
                     column: 87,
                    },
                   },
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 74,
                   column: 36,
                  },
                  end: Position {
                   line: 76,
                   column: 87,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 74,
                 column: 28,
                },
                end: Position {
                 line: 76,
                 column: 87,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 74,
               column: 22,
              },
              end: Position {
               line: 76,
               column: 87,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "assertHasField",
              span: Span {
               start: Position {
                line: 78,
                column: 3,
               },
               end: Position {
                line: 78,
                column: 17,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "group",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "attr",
                  },
                 ),
                 body: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "optional",
                     span: Span {
                      start: Position {
                       line: 79,
                       column: 5,
                      },
                      end: Position {
                       line: 79,
                       column: 13,
                      },
                     },
                    },
                   ),
                   arguments: [
                    UnaryOperation(
                     UnaryOperation {
                      operator: Not,
                      operand: HasAttribute(
                       HasAttribute {
                        expression: Identifier(
                         Identifier {
                          id: "attr",
                          span: Span {
                           start: Position {
                            line: 79,
                            column: 17,
                           },
                           end: Position {
                            line: 79,
                            column: 21,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "name",
                             span: Span {
                              start: Position {
                               line: 79,
                               column: 26,
                              },
                              end: Position {
                               line: 79,
                               column: 30,
                              },
                             },
                            },
                           ),
                          },
                         ),
                        ],
                       },
                      ),
                      span: Span {
                       start: Position {
                        line: 79,
                        column: 15,
                       },
                       end: Position {
                        line: 79,
                        column: 32,
                       },
                      },
                     },
                    ),
                    String(
                     String_ {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "Systemd ",
                         span: Span {
                          start: Position {
                           line: 80,
                           column: 8,
                          },
                          end: Position {
                           line: 80,
                           column: 24,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "group",
                           span: Span {
                            start: Position {
                             line: 80,
                             column: 18,
                            },
                            end: Position {
                             line: 80,
                             column: 23,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: " field `",
                         span: Span {
                          start: Position {
                           line: 80,
                           column: 8,
                          },
                          end: Position {
                           line: 80,
                           column: 32,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "name",
                           span: Span {
                            start: Position {
                             line: 80,
                             column: 34,
                            },
                            end: Position {
                             line: 80,
                             column: 38,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "' must exist.",
                         span: Span {
                          start: Position {
                           line: 80,
                           column: 8,
                          },
                          end: Position {
                           line: 80,
                           column: 52,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 80,
                        column: 7,
                       },
                       end: Position {
                        line: 80,
                        column: 53,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 78,
                   column: 33,
                  },
                  end: Position {
                   line: 80,
                   column: 53,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 78,
                 column: 26,
                },
                end: Position {
                 line: 80,
                 column: 53,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 78,
               column: 20,
              },
              end: Position {
               line: 80,
               column: 53,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "assertRange",
              span: Span {
               start: Position {
                line: 82,
                column: 3,
               },
               end: Position {
                line: 82,
                column: 14,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "min",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "max",
                  },
                 ),
                 body: Function(
                  Function {
                   head: Simple(
                    FunctionHeadSimple {
                     identifier: "group",
                    },
                   ),
                   body: Function(
                    Function {
                     head: Simple(
                      FunctionHeadSimple {
                       identifier: "attr",
                      },
                     ),
                     body: FunctionApplication(
                      FunctionApplication {
                       function: Identifier(
                        Identifier {
                         id: "optional",
                         span: Span {
                          start: Position {
                           line: 83,
                           column: 5,
                          },
                          end: Position {
                           line: 83,
                           column: 13,
                          },
                         },
                        },
                       ),
                       arguments: [
                        BinaryOperation(
                         BinaryOperation {
                          left: HasAttribute(
                           HasAttribute {
                            expression: Identifier(
                             Identifier {
                              id: "attr",
                              span: Span {
                               start: Position {
                                line: 83,
                                column: 15,
                               },
                               end: Position {
                                line: 83,
                                column: 19,
                               },
                              },
                             },
                            ),
                            attribute_path: [
                             Interpolation(
                              PartInterpolation {
                               expression: Identifier(
                                Identifier {
                                 id: "name",
                                 span: Span {
                                  start: Position {
                                   line: 83,
                                   column: 24,
                                  },
                                  end: Position {
                                   line: 83,
                                   column: 28,
                                  },
                                 },
                                },
                               ),
                              },
                             ),
                            ],
                           },
                          ),
                          operator: LogicalAnd,
                          right: UnaryOperation(
                           UnaryOperation {
                            operator: Not,
                            operand: BinaryOperation(
                             BinaryOperation {
                              left: BinaryOperation(
                               BinaryOperation {
                                left: Identifier(
                                 Identifier {
                                  id: "min",
                                  span: Span {
                                   start: Position {
                                    line: 83,
                                    column: 35,
                                   },
                                   end: Position {
                                    line: 83,
                                    column: 38,
                                   },
                                  },
                                 },
                                ),
                                operator: LessThanOrEqualTo,
                                right: PropertyAccess(
                                 PropertyAccess {
                                  expression: Identifier(
                                   Identifier {
                                    id: "attr",
                                    span: Span {
                                     start: Position {
                                      line: 83,
                                      column: 42,
                                     },
                                     end: Position {
                                      line: 83,
                                      column: 46,
                                     },
                                    },
                                   },
                                  ),
                                  attribute_path: [
                                   Interpolation(
                                    PartInterpolation {
                                     expression: Identifier(
                                      Identifier {
                                       id: "name",
                                       span: Span {
                                        start: Position {
                                         line: 83,
                                         column: 49,
                                        },
                                        end: Position {
                                         line: 83,
                                         column: 53,
                                        },
                                       },
                                      },
                                     ),
                                    },
                                   ),
                                  ],
                                  default: None,
                                 },
                                ),
                               },
                              ),
                              operator: LogicalAnd,
                              right: BinaryOperation(
                               BinaryOperation {
                                left: Identifier(
                                 Identifier {
                                  id: "max",
                                  span: Span {
                                   start: Position {
                                    line: 83,
                                    column: 58,
                                   },
                                   end: Position {
                                    line: 83,
                                    column: 61,
                                   },
                                  },
                                 },
                                ),
                                operator: GreaterThanOrEqualTo,
                                right: PropertyAccess(
                                 PropertyAccess {
                                  expression: Identifier(
                                   Identifier {
                                    id: "attr",
                                    span: Span {
                                     start: Position {
                                      line: 83,
                                      column: 65,
                                     },
                                     end: Position {
                                      line: 83,
                                      column: 69,
                                     },
                                    },
                                   },
                                  ),
                                  attribute_path: [
                                   Interpolation(
                                    PartInterpolation {
                                     expression: Identifier(
                                      Identifier {
                                       id: "name",
                                       span: Span {
                                        start: Position {
                                         line: 83,
                                         column: 72,
                                        },
                                        end: Position {
                                         line: 83,
                                         column: 76,
                                        },
                                       },
                                      },
                                     ),
                                    },
                                   ),
                                  ],
                                  default: None,
                                 },
                                ),
                               },
                              ),
                             },
                            ),
                            span: Span {
                             start: Position {
                              line: 83,
                              column: 33,
                             },
                             end: Position {
                              line: 83,
                              column: 78,
                             },
                            },
                           },
                          ),
                         },
                        ),
                        String(
                         String_ {
                          parts: [
                           Raw(
                            PartRaw {
                             content: "Systemd ",
                             span: Span {
                              start: Position {
                               line: 84,
                               column: 8,
                              },
                              end: Position {
                               line: 84,
                               column: 24,
                              },
                             },
                            },
                           ),
                           Interpolation(
                            PartInterpolation {
                             expression: Identifier(
                              Identifier {
                               id: "group",
                               span: Span {
                                start: Position {
                                 line: 84,
                                 column: 18,
                                },
                                end: Position {
                                 line: 84,
                                 column: 23,
                                },
                               },
                              },
                             ),
                            },
                           ),
                           Raw(
                            PartRaw {
                             content: " field `",
                             span: Span {
                              start: Position {
                               line: 84,
                               column: 8,
                              },
                              end: Position {
                               line: 84,
                               column: 32,
                              },
                             },
                            },
                           ),
                           Interpolation(
                            PartInterpolation {
                             expression: Identifier(
                              Identifier {
                               id: "name",
                               span: Span {
                                start: Position {
                                 line: 84,
                                 column: 34,
                                },
                                end: Position {
                                 line: 84,
                                 column: 38,
                                },
                               },
                              },
                             ),
                            },
                           ),
                           Raw(
                            PartRaw {
                             content: "' is outside the range [",
                             span: Span {
                              start: Position {
                               line: 84,
                               column: 8,
                              },
                              end: Position {
                               line: 84,
                               column: 63,
                              },
                             },
                            },
                           ),
                           Interpolation(
                            PartInterpolation {
                             expression: FunctionApplication(
                              FunctionApplication {
                               function: Identifier(
                                Identifier {
                                 id: "toString",
                                 span: Span {
                                  start: Position {
                                   line: 84,
                                   column: 65,
                                  },
                                  end: Position {
                                   line: 84,
                                   column: 73,
                                  },
                                 },
                                },
                               ),
                               arguments: [
                                Identifier(
                                 Identifier {
                                  id: "min",
                                  span: Span {
                                   start: Position {
                                    line: 84,
                                    column: 74,
                                   },
                                   end: Position {
                                    line: 84,
                                    column: 77,
                                   },
                                  },
                                 },
                                ),
                               ],
                              },
                             ),
                            },
                           ),
                           Raw(
                            PartRaw {
                             content: ",",
                             span: Span {
                              start: Position {
                               line: 84,
                               column: 8,
                              },
                              end: Position {
                               line: 84,
                               column: 79,
                              },
                             },
                            },
                           ),
                           Interpolation(
                            PartInterpolation {
                             expression: FunctionApplication(
                              FunctionApplication {
                               function: Identifier(
                                Identifier {
                                 id: "toString",
                                 span: Span {
                                  start: Position {
                                   line: 84,
                                   column: 81,
                                  },
                                  end: Position {
                                   line: 84,
                                   column: 89,
                                  },
                                 },
                                },
                               ),
                               arguments: [
                                Identifier(
                                 Identifier {
                                  id: "max",
                                  span: Span {
                                   start: Position {
                                    line: 84,
                                    column: 90,
                                   },
                                   end: Position {
                                    line: 84,
                                    column: 93,
                                   },
                                  },
                                 },
                                ),
                               ],
                              },
                             ),
                            },
                           ),
                           Raw(
                            PartRaw {
                             content: "]",
                             span: Span {
                              start: Position {
                               line: 84,
                               column: 8,
                              },
                              end: Position {
                               line: 84,
                               column: 95,
                              },
                             },
                            },
                           ),
                          ],
                          span: Span {
                           start: Position {
                            line: 84,
                            column: 7,
                           },
                           end: Position {
                            line: 84,
                            column: 96,
                           },
                          },
                         },
                        ),
                       ],
                      },
                     ),
                     span: Span {
                      start: Position {
                       line: 82,
                       column: 40,
                      },
                      end: Position {
                       line: 84,
                       column: 96,
                      },
                     },
                    },
                   ),
                   span: Span {
                    start: Position {
                     line: 82,
                     column: 33,
                    },
                    end: Position {
                     line: 84,
                     column: 96,
                    },
                   },
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 82,
                   column: 28,
                  },
                  end: Position {
                   line: 84,
                   column: 96,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 82,
                 column: 23,
                },
                end: Position {
                 line: 84,
                 column: 96,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 82,
               column: 17,
              },
              end: Position {
               line: 84,
               column: 96,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "assertMinimum",
              span: Span {
               start: Position {
                line: 86,
                column: 3,
               },
               end: Position {
                line: 86,
                column: 16,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "min",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "group",
                  },
                 ),
                 body: Function(
                  Function {
                   head: Simple(
                    FunctionHeadSimple {
                     identifier: "attr",
                    },
                   ),
                   body: FunctionApplication(
                    FunctionApplication {
                     function: Identifier(
                      Identifier {
                       id: "optional",
                       span: Span {
                        start: Position {
                         line: 87,
                         column: 5,
                        },
                        end: Position {
                         line: 87,
                         column: 13,
                        },
                       },
                      },
                     ),
                     arguments: [
                      BinaryOperation(
                       BinaryOperation {
                        left: HasAttribute(
                         HasAttribute {
                          expression: Identifier(
                           Identifier {
                            id: "attr",
                            span: Span {
                             start: Position {
                              line: 87,
                              column: 15,
                             },
                             end: Position {
                              line: 87,
                              column: 19,
                             },
                            },
                           },
                          ),
                          attribute_path: [
                           Interpolation(
                            PartInterpolation {
                             expression: Identifier(
                              Identifier {
                               id: "name",
                               span: Span {
                                start: Position {
                                 line: 87,
                                 column: 24,
                                },
                                end: Position {
                                 line: 87,
                                 column: 28,
                                },
                               },
                              },
                             ),
                            },
                           ),
                          ],
                         },
                        ),
                        operator: LogicalAnd,
                        right: BinaryOperation(
                         BinaryOperation {
                          left: PropertyAccess(
                           PropertyAccess {
                            expression: Identifier(
                             Identifier {
                              id: "attr",
                              span: Span {
                               start: Position {
                                line: 87,
                                column: 33,
                               },
                               end: Position {
                                line: 87,
                                column: 37,
                               },
                              },
                             },
                            ),
                            attribute_path: [
                             Interpolation(
                              PartInterpolation {
                               expression: Identifier(
                                Identifier {
                                 id: "name",
                                 span: Span {
                                  start: Position {
                                   line: 87,
                                   column: 40,
                                  },
                                  end: Position {
                                   line: 87,
                                   column: 44,
                                  },
                                 },
                                },
                               ),
                              },
                             ),
                            ],
                            default: None,
                           },
                          ),
                          operator: LessThan,
                          right: Identifier(
                           Identifier {
                            id: "min",
                            span: Span {
                             start: Position {
                              line: 87,
                              column: 48,
                             },
                             end: Position {
                              line: 87,
                              column: 51,
                             },
                            },
                           },
                          ),
                         },
                        ),
                       },
                      ),
                      String(
                       String_ {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "Systemd ",
                           span: Span {
                            start: Position {
                             line: 88,
                             column: 8,
                            },
                            end: Position {
                             line: 88,
                             column: 24,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "group",
                             span: Span {
                              start: Position {
                               line: 88,
                               column: 18,
                              },
                              end: Position {
                               line: 88,
                               column: 23,
                              },
                             },
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: " field `",
                           span: Span {
                            start: Position {
                             line: 88,
                             column: 8,
                            },
                            end: Position {
                             line: 88,
                             column: 32,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "name",
                             span: Span {
                              start: Position {
                               line: 88,
                               column: 34,
                              },
                              end: Position {
                               line: 88,
                               column: 38,
                              },
                             },
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "' must be greater than or equal to ",
                           span: Span {
                            start: Position {
                             line: 88,
                             column: 8,
                            },
                            end: Position {
                             line: 88,
                             column: 74,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "toString",
                               span: Span {
                                start: Position {
                                 line: 88,
                                 column: 76,
                                },
                                end: Position {
                                 line: 88,
                                 column: 84,
                                },
                               },
                              },
                             ),
                             arguments: [
                              Identifier(
                               Identifier {
                                id: "min",
                                span: Span {
                                 start: Position {
                                  line: 88,
                                  column: 85,
                                 },
                                 end: Position {
                                  line: 88,
                                  column: 88,
                                 },
                                },
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 88,
                          column: 7,
                         },
                         end: Position {
                          line: 88,
                          column: 90,
                         },
                        },
                       },
                      ),
                     ],
                    },
                   ),
                   span: Span {
                    start: Position {
                     line: 86,
                     column: 37,
                    },
                    end: Position {
                     line: 88,
                     column: 90,
                    },
                   },
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 86,
                   column: 30,
                  },
                  end: Position {
                   line: 88,
                   column: 90,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 86,
                 column: 25,
                },
                end: Position {
                 line: 88,
                 column: 90,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 86,
               column: 19,
              },
              end: Position {
               line: 88,
               column: 90,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "assertOnlyFields",
              span: Span {
               start: Position {
                line: 90,
                column: 3,
               },
               end: Position {
                line: 90,
                column: 19,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "fields",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "group",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "attr",
                  },
                 ),
                 body: LetIn(
                  LetIn {
                   bindings: [
                    KeyValue(
                     BindingKeyValue {
                      from: [
                       Raw(
                        PartRaw {
                         content: "badFields",
                         span: Span {
                          start: Position {
                           line: 91,
                           column: 9,
                          },
                          end: Position {
                           line: 91,
                           column: 18,
                          },
                         },
                        },
                       ),
                      ],
                      to: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "filter",
                          span: Span {
                           start: Position {
                            line: 91,
                            column: 21,
                           },
                           end: Position {
                            line: 91,
                            column: 27,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Function(
                          Function {
                           head: Simple(
                            FunctionHeadSimple {
                             identifier: "name",
                            },
                           ),
                           body: UnaryOperation(
                            UnaryOperation {
                             operator: Not,
                             operand: FunctionApplication(
                              FunctionApplication {
                               function: Identifier(
                                Identifier {
                                 id: "elem",
                                 span: Span {
                                  start: Position {
                                   line: 91,
                                   column: 37,
                                  },
                                  end: Position {
                                   line: 91,
                                   column: 41,
                                  },
                                 },
                                },
                               ),
                               arguments: [
                                Identifier(
                                 Identifier {
                                  id: "name",
                                  span: Span {
                                   start: Position {
                                    line: 91,
                                    column: 42,
                                   },
                                   end: Position {
                                    line: 91,
                                    column: 46,
                                   },
                                  },
                                 },
                                ),
                                Identifier(
                                 Identifier {
                                  id: "fields",
                                  span: Span {
                                   start: Position {
                                    line: 91,
                                    column: 47,
                                   },
                                   end: Position {
                                    line: 91,
                                    column: 53,
                                   },
                                  },
                                 },
                                ),
                               ],
                              },
                             ),
                             span: Span {
                              start: Position {
                               line: 91,
                               column: 35,
                              },
                              end: Position {
                               line: 91,
                               column: 53,
                              },
                             },
                            },
                           ),
                           span: Span {
                            start: Position {
                             line: 91,
                             column: 29,
                            },
                            end: Position {
                             line: 91,
                             column: 53,
                            },
                           },
                          },
                         ),
                         FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "attrNames",
                             span: Span {
                              start: Position {
                               line: 91,
                               column: 56,
                              },
                              end: Position {
                               line: 91,
                               column: 65,
                              },
                             },
                            },
                           ),
                           arguments: [
                            Identifier(
                             Identifier {
                              id: "attr",
                              span: Span {
                               start: Position {
                                line: 91,
                                column: 66,
                               },
                               end: Position {
                                line: 91,
                                column: 70,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                        ],
                       },
                      ),
                     },
                    ),
                   ],
                   target: FunctionApplication(
                    FunctionApplication {
                     function: Identifier(
                      Identifier {
                       id: "optional",
                       span: Span {
                        start: Position {
                         line: 92,
                         column: 5,
                        },
                        end: Position {
                         line: 92,
                         column: 13,
                        },
                       },
                      },
                     ),
                     arguments: [
                      BinaryOperation(
                       BinaryOperation {
                        left: Identifier(
                         Identifier {
                          id: "badFields",
                          span: Span {
                           start: Position {
                            line: 92,
                            column: 15,
                           },
                           end: Position {
                            line: 92,
                            column: 24,
                           },
                          },
                         },
                        ),
                        operator: NotEqualTo,
                        right: List(
                         List {
                          elements: [],
                          span: Span {
                           start: Position {
                            line: 92,
                            column: 28,
                           },
                           end: Position {
                            line: 92,
                            column: 31,
                           },
                          },
                         },
                        ),
                       },
                      ),
                      String(
                       String_ {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "Systemd ",
                           span: Span {
                            start: Position {
                             line: 93,
                             column: 8,
                            },
                            end: Position {
                             line: 93,
                             column: 24,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "group",
                             span: Span {
                              start: Position {
                               line: 93,
                               column: 18,
                              },
                              end: Position {
                               line: 93,
                               column: 23,
                              },
                             },
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: " has extra fields [",
                           span: Span {
                            start: Position {
                             line: 93,
                             column: 8,
                            },
                            end: Position {
                             line: 93,
                             column: 43,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "concatStringsSep",
                               span: Span {
                                start: Position {
                                 line: 93,
                                 column: 45,
                                },
                                end: Position {
                                 line: 93,
                                 column: 61,
                                },
                               },
                              },
                             ),
                             arguments: [
                              String(
                               String_ {
                                parts: [
                                 Raw(
                                  PartRaw {
                                   content: " ",
                                   span: Span {
                                    start: Position {
                                     line: 93,
                                     column: 63,
                                    },
                                    end: Position {
                                     line: 93,
                                     column: 64,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                span: Span {
                                 start: Position {
                                  line: 93,
                                  column: 62,
                                 },
                                 end: Position {
                                  line: 93,
                                  column: 65,
                                 },
                                },
                               },
                              ),
                              Identifier(
                               Identifier {
                                id: "badFields",
                                span: Span {
                                 start: Position {
                                  line: 93,
                                  column: 66,
                                 },
                                 end: Position {
                                  line: 93,
                                  column: 75,
                                 },
                                },
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "].",
                           span: Span {
                            start: Position {
                             line: 93,
                             column: 8,
                            },
                            end: Position {
                             line: 93,
                             column: 78,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 93,
                          column: 7,
                         },
                         end: Position {
                          line: 93,
                          column: 79,
                         },
                        },
                       },
                      ),
                     ],
                    },
                   ),
                   span: Span {
                    start: Position {
                     line: 91,
                     column: 5,
                    },
                    end: Position {
                     line: 93,
                     column: 79,
                    },
                   },
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 90,
                   column: 37,
                  },
                  end: Position {
                   line: 93,
                   column: 79,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 90,
                 column: 30,
                },
                end: Position {
                 line: 93,
                 column: 79,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 90,
               column: 22,
              },
              end: Position {
               line: 93,
               column: 79,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "assertInt",
              span: Span {
               start: Position {
                line: 95,
                column: 3,
               },
               end: Position {
                line: 95,
                column: 12,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "group",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "attr",
                  },
                 ),
                 body: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "optional",
                     span: Span {
                      start: Position {
                       line: 96,
                       column: 5,
                      },
                      end: Position {
                       line: 96,
                       column: 13,
                      },
                     },
                    },
                   ),
                   arguments: [
                    BinaryOperation(
                     BinaryOperation {
                      left: HasAttribute(
                       HasAttribute {
                        expression: Identifier(
                         Identifier {
                          id: "attr",
                          span: Span {
                           start: Position {
                            line: 96,
                            column: 15,
                           },
                           end: Position {
                            line: 96,
                            column: 19,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Interpolation(
                          PartInterpolation {
                           expression: Identifier(
                            Identifier {
                             id: "name",
                             span: Span {
                              start: Position {
                               line: 96,
                               column: 24,
                              },
                              end: Position {
                               line: 96,
                               column: 28,
                              },
                             },
                            },
                           ),
                          },
                         ),
                        ],
                       },
                      ),
                      operator: LogicalAnd,
                      right: UnaryOperation(
                       UnaryOperation {
                        operator: Not,
                        operand: FunctionApplication(
                         FunctionApplication {
                          function: Identifier(
                           Identifier {
                            id: "isInt",
                            span: Span {
                             start: Position {
                              line: 96,
                              column: 34,
                             },
                             end: Position {
                              line: 96,
                              column: 39,
                             },
                            },
                           },
                          ),
                          arguments: [
                           PropertyAccess(
                            PropertyAccess {
                             expression: Identifier(
                              Identifier {
                               id: "attr",
                               span: Span {
                                start: Position {
                                 line: 96,
                                 column: 40,
                                },
                                end: Position {
                                 line: 96,
                                 column: 44,
                                },
                               },
                              },
                             ),
                             attribute_path: [
                              Interpolation(
                               PartInterpolation {
                                expression: Identifier(
                                 Identifier {
                                  id: "name",
                                  span: Span {
                                   start: Position {
                                    line: 96,
                                    column: 47,
                                   },
                                   end: Position {
                                    line: 96,
                                    column: 51,
                                   },
                                  },
                                 },
                                ),
                               },
                              ),
                             ],
                             default: None,
                            },
                           ),
                          ],
                         },
                        ),
                        span: Span {
                         start: Position {
                          line: 96,
                          column: 33,
                         },
                         end: Position {
                          line: 96,
                          column: 52,
                         },
                        },
                       },
                      ),
                     },
                    ),
                    String(
                     String_ {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "Systemd ",
                         span: Span {
                          start: Position {
                           line: 97,
                           column: 8,
                          },
                          end: Position {
                           line: 97,
                           column: 24,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "group",
                           span: Span {
                            start: Position {
                             line: 97,
                             column: 18,
                            },
                            end: Position {
                             line: 97,
                             column: 23,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: " field `",
                         span: Span {
                          start: Position {
                           line: 97,
                           column: 8,
                          },
                          end: Position {
                           line: 97,
                           column: 32,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "name",
                           span: Span {
                            start: Position {
                             line: 97,
                             column: 34,
                            },
                            end: Position {
                             line: 97,
                             column: 38,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "' is not an integer",
                         span: Span {
                          start: Position {
                           line: 97,
                           column: 8,
                          },
                          end: Position {
                           line: 97,
                           column: 58,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 97,
                        column: 7,
                       },
                       end: Position {
                        line: 97,
                        column: 59,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 95,
                   column: 28,
                  },
                  end: Position {
                   line: 97,
                   column: 59,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 95,
                 column: 21,
                },
                end: Position {
                 line: 97,
                 column: 59,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 95,
               column: 15,
              },
              end: Position {
               line: 97,
               column: 59,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "checkUnitConfig",
              span: Span {
               start: Position {
                line: 99,
                column: 3,
               },
               end: Position {
                line: 99,
                column: 18,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "group",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "checks",
                },
               ),
               body: Function(
                Function {
                 head: Simple(
                  FunctionHeadSimple {
                   identifier: "attrs",
                  },
                 ),
                 body: LetIn(
                  LetIn {
                   bindings: [
                    KeyValue(
                     BindingKeyValue {
                      from: [
                       Raw(
                        PartRaw {
                         content: "defs",
                         span: Span {
                          start: Position {
                           line: 103,
                           column: 5,
                          },
                          end: Position {
                           line: 103,
                           column: 9,
                          },
                         },
                        },
                       ),
                      ],
                      to: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "mapAttrs",
                          span: Span {
                           start: Position {
                            line: 103,
                            column: 12,
                           },
                           end: Position {
                            line: 103,
                            column: 20,
                           },
                          },
                         },
                        ),
                        arguments: [
                         FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "const",
                             span: Span {
                              start: Position {
                               line: 103,
                               column: 22,
                              },
                              end: Position {
                               line: 103,
                               column: 27,
                              },
                             },
                            },
                           ),
                           arguments: [
                            Function(
                             Function {
                              head: Simple(
                               FunctionHeadSimple {
                                identifier: "v",
                               },
                              ),
                              body: IfThenElse(
                               IfThenElse {
                                predicate: BinaryOperation(
                                 BinaryOperation {
                                  left: PropertyAccess(
                                   PropertyAccess {
                                    expression: Identifier(
                                     Identifier {
                                      id: "v",
                                      span: Span {
                                       start: Position {
                                        line: 104,
                                        column: 10,
                                       },
                                       end: Position {
                                        line: 104,
                                        column: 11,
                                       },
                                      },
                                     },
                                    ),
                                    attribute_path: [
                                     Raw(
                                      PartRaw {
                                       content: "_type",
                                       span: Span {
                                        start: Position {
                                         line: 104,
                                         column: 12,
                                        },
                                        end: Position {
                                         line: 104,
                                         column: 17,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    default: Some(
                                     String(
                                      String_ {
                                       parts: [],
                                       span: Span {
                                        start: Position {
                                         line: 104,
                                         column: 21,
                                        },
                                        end: Position {
                                         line: 104,
                                         column: 23,
                                        },
                                       },
                                      },
                                     ),
                                    ),
                                   },
                                  ),
                                  operator: EqualTo,
                                  right: String(
                                   String_ {
                                    parts: [
                                     Raw(
                                      PartRaw {
                                       content: "override",
                                       span: Span {
                                        start: Position {
                                         line: 104,
                                         column: 28,
                                        },
                                        end: Position {
                                         line: 104,
                                         column: 36,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    span: Span {
                                     start: Position {
                                      line: 104,
                                      column: 27,
                                     },
                                     end: Position {
                                      line: 104,
                                      column: 37,
                                     },
                                    },
                                   },
                                  ),
                                 },
                                ),
                                then: PropertyAccess(
                                 PropertyAccess {
                                  expression: Identifier(
                                   Identifier {
                                    id: "v",
                                    span: Span {
                                     start: Position {
                                      line: 104,
                                      column: 43,
                                     },
                                     end: Position {
                                      line: 104,
                                      column: 44,
                                     },
                                    },
                                   },
                                  ),
                                  attribute_path: [
                                   Raw(
                                    PartRaw {
                                     content: "content",
                                     span: Span {
                                      start: Position {
                                       line: 104,
                                       column: 45,
                                      },
                                      end: Position {
                                       line: 104,
                                       column: 52,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                  default: None,
                                 },
                                ),
                                else_: IfThenElse(
                                 IfThenElse {
                                  predicate: BinaryOperation(
                                   BinaryOperation {
                                    left: PropertyAccess(
                                     PropertyAccess {
                                      expression: Identifier(
                                       Identifier {
                                        id: "v",
                                        span: Span {
                                         start: Position {
                                          line: 105,
                                          column: 15,
                                         },
                                         end: Position {
                                          line: 105,
                                          column: 16,
                                         },
                                        },
                                       },
                                      ),
                                      attribute_path: [
                                       Raw(
                                        PartRaw {
                                         content: "_type",
                                         span: Span {
                                          start: Position {
                                           line: 105,
                                           column: 17,
                                          },
                                          end: Position {
                                           line: 105,
                                           column: 22,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      default: Some(
                                       String(
                                        String_ {
                                         parts: [],
                                         span: Span {
                                          start: Position {
                                           line: 105,
                                           column: 26,
                                          },
                                          end: Position {
                                           line: 105,
                                           column: 28,
                                          },
                                         },
                                        },
                                       ),
                                      ),
                                     },
                                    ),
                                    operator: EqualTo,
                                    right: String(
                                     String_ {
                                      parts: [
                                       Raw(
                                        PartRaw {
                                         content: "if",
                                         span: Span {
                                          start: Position {
                                           line: 105,
                                           column: 33,
                                          },
                                          end: Position {
                                           line: 105,
                                           column: 35,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      span: Span {
                                       start: Position {
                                        line: 105,
                                        column: 32,
                                       },
                                       end: Position {
                                        line: 105,
                                        column: 36,
                                       },
                                      },
                                     },
                                    ),
                                   },
                                  ),
                                  then: PropertyAccess(
                                   PropertyAccess {
                                    expression: Identifier(
                                     Identifier {
                                      id: "v",
                                      span: Span {
                                       start: Position {
                                        line: 105,
                                        column: 42,
                                       },
                                       end: Position {
                                        line: 105,
                                        column: 43,
                                       },
                                      },
                                     },
                                    ),
                                    attribute_path: [
                                     Raw(
                                      PartRaw {
                                       content: "content",
                                       span: Span {
                                        start: Position {
                                         line: 105,
                                         column: 44,
                                        },
                                        end: Position {
                                         line: 105,
                                         column: 51,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    default: None,
                                   },
                                  ),
                                  else_: Identifier(
                                   Identifier {
                                    id: "v",
                                    span: Span {
                                     start: Position {
                                      line: 106,
                                      column: 12,
                                     },
                                     end: Position {
                                      line: 106,
                                      column: 13,
                                     },
                                    },
                                   },
                                  ),
                                  span: Span {
                                   start: Position {
                                    line: 105,
                                    column: 12,
                                   },
                                   end: Position {
                                    line: 106,
                                    column: 13,
                                   },
                                  },
                                 },
                                ),
                                span: Span {
                                 start: Position {
                                  line: 104,
                                  column: 7,
                                 },
                                 end: Position {
                                  line: 106,
                                  column: 13,
                                 },
                                },
                               },
                              ),
                              span: Span {
                               start: Position {
                                line: 103,
                                column: 29,
                               },
                               end: Position {
                                line: 106,
                                column: 13,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                         Identifier(
                          Identifier {
                           id: "attrs",
                           span: Span {
                            start: Position {
                             line: 107,
                             column: 8,
                            },
                            end: Position {
                             line: 107,
                             column: 13,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                     },
                    ),
                    KeyValue(
                     BindingKeyValue {
                      from: [
                       Raw(
                        PartRaw {
                         content: "errors",
                         span: Span {
                          start: Position {
                           line: 108,
                           column: 5,
                          },
                          end: Position {
                           line: 108,
                           column: 11,
                          },
                         },
                        },
                       ),
                      ],
                      to: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "concatMap",
                          span: Span {
                           start: Position {
                            line: 108,
                            column: 14,
                           },
                           end: Position {
                            line: 108,
                            column: 23,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Function(
                          Function {
                           head: Simple(
                            FunctionHeadSimple {
                             identifier: "c",
                            },
                           ),
                           body: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "c",
                               span: Span {
                                start: Position {
                                 line: 108,
                                 column: 28,
                                },
                                end: Position {
                                 line: 108,
                                 column: 29,
                                },
                               },
                              },
                             ),
                             arguments: [
                              Identifier(
                               Identifier {
                                id: "group",
                                span: Span {
                                 start: Position {
                                  line: 108,
                                  column: 30,
                                 },
                                 end: Position {
                                  line: 108,
                                  column: 35,
                                 },
                                },
                               },
                              ),
                              Identifier(
                               Identifier {
                                id: "defs",
                                span: Span {
                                 start: Position {
                                  line: 108,
                                  column: 36,
                                 },
                                 end: Position {
                                  line: 108,
                                  column: 40,
                                 },
                                },
                               },
                              ),
                             ],
                            },
                           ),
                           span: Span {
                            start: Position {
                             line: 108,
                             column: 25,
                            },
                            end: Position {
                             line: 108,
                             column: 40,
                            },
                           },
                          },
                         ),
                         Identifier(
                          Identifier {
                           id: "checks",
                           span: Span {
                            start: Position {
                             line: 108,
                             column: 42,
                            },
                            end: Position {
                             line: 108,
                             column: 48,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                     },
                    ),
                   ],
                   target: IfThenElse(
                    IfThenElse {
                     predicate: BinaryOperation(
                      BinaryOperation {
                       left: Identifier(
                        Identifier {
                         id: "errors",
                         span: Span {
                          start: Position {
                           line: 109,
                           column: 9,
                          },
                          end: Position {
                           line: 109,
                           column: 15,
                          },
                         },
                        },
                       ),
                       operator: EqualTo,
                       right: List(
                        List {
                         elements: [],
                         span: Span {
                          start: Position {
                           line: 109,
                           column: 19,
                          },
                          end: Position {
                           line: 109,
                           column: 21,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     then: Identifier(
                      Identifier {
                       id: "true",
                       span: Span {
                        start: Position {
                         line: 109,
                         column: 27,
                        },
                        end: Position {
                         line: 109,
                         column: 31,
                        },
                       },
                      },
                     ),
                     else_: FunctionApplication(
                      FunctionApplication {
                       function: PropertyAccess(
                        PropertyAccess {
                         expression: Identifier(
                          Identifier {
                           id: "builtins",
                           span: Span {
                            start: Position {
                             line: 110,
                             column: 11,
                            },
                            end: Position {
                             line: 110,
                             column: 19,
                            },
                           },
                          },
                         ),
                         attribute_path: [
                          Raw(
                           PartRaw {
                            content: "trace",
                            span: Span {
                             start: Position {
                              line: 110,
                              column: 20,
                             },
                             end: Position {
                              line: 110,
                              column: 25,
                             },
                            },
                           },
                          ),
                         ],
                         default: None,
                        },
                       ),
                       arguments: [
                        FunctionApplication(
                         FunctionApplication {
                          function: Identifier(
                           Identifier {
                            id: "concatStringsSep",
                            span: Span {
                             start: Position {
                              line: 110,
                              column: 27,
                             },
                             end: Position {
                              line: 110,
                              column: 43,
                             },
                            },
                           },
                          ),
                          arguments: [
                           String(
                            String_ {
                             parts: [
                              Raw(
                               PartRaw {
                                content: "\n",
                                span: Span {
                                 start: Position {
                                  line: 110,
                                  column: 45,
                                 },
                                 end: Position {
                                  line: 110,
                                  column: 47,
                                 },
                                },
                               },
                              ),
                             ],
                             span: Span {
                              start: Position {
                               line: 110,
                               column: 44,
                              },
                              end: Position {
                               line: 110,
                               column: 48,
                              },
                             },
                            },
                           ),
                           Identifier(
                            Identifier {
                             id: "errors",
                             span: Span {
                              start: Position {
                               line: 110,
                               column: 49,
                              },
                              end: Position {
                               line: 110,
                               column: 55,
                              },
                             },
                            },
                           ),
                          ],
                         },
                        ),
                        Identifier(
                         Identifier {
                          id: "false",
                          span: Span {
                           start: Position {
                            line: 110,
                            column: 57,
                           },
                           end: Position {
                            line: 110,
                            column: 62,
                           },
                          },
                         },
                        ),
                       ],
                      },
                     ),
                     span: Span {
                      start: Position {
                       line: 109,
                       column: 6,
                      },
                      end: Position {
                       line: 110,
                       column: 62,
                      },
                     },
                    },
                   ),
                   span: Span {
                    start: Position {
                     line: 99,
                     column: 43,
                    },
                    end: Position {
                     line: 110,
                     column: 62,
                    },
                   },
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 99,
                   column: 36,
                  },
                  end: Position {
                   line: 110,
                   column: 62,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 99,
                 column: 28,
                },
                end: Position {
                 line: 110,
                 column: 62,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 99,
               column: 21,
              },
              end: Position {
               line: 110,
               column: 62,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "toOption",
              span: Span {
               start: Position {
                line: 112,
                column: 3,
               },
               end: Position {
                line: 112,
                column: 11,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "x",
              },
             ),
             body: IfThenElse(
              IfThenElse {
               predicate: BinaryOperation(
                BinaryOperation {
                 left: Identifier(
                  Identifier {
                   id: "x",
                   span: Span {
                    start: Position {
                     line: 113,
                     column: 8,
                    },
                    end: Position {
                     line: 113,
                     column: 9,
                    },
                   },
                  },
                 ),
                 operator: EqualTo,
                 right: Identifier(
                  Identifier {
                   id: "true",
                   span: Span {
                    start: Position {
                     line: 113,
                     column: 13,
                    },
                    end: Position {
                     line: 113,
                     column: 17,
                    },
                   },
                  },
                 ),
                },
               ),
               then: String(
                String_ {
                 parts: [
                  Raw(
                   PartRaw {
                    content: "true",
                    span: Span {
                     start: Position {
                      line: 113,
                      column: 24,
                     },
                     end: Position {
                      line: 113,
                      column: 28,
                     },
                    },
                   },
                  ),
                 ],
                 span: Span {
                  start: Position {
                   line: 113,
                   column: 23,
                  },
                  end: Position {
                   line: 113,
                   column: 29,
                  },
                 },
                },
               ),
               else_: IfThenElse(
                IfThenElse {
                 predicate: BinaryOperation(
                  BinaryOperation {
                   left: Identifier(
                    Identifier {
                     id: "x",
                     span: Span {
                      start: Position {
                       line: 114,
                       column: 13,
                      },
                      end: Position {
                       line: 114,
                       column: 14,
                      },
                     },
                    },
                   ),
                   operator: EqualTo,
                   right: Identifier(
                    Identifier {
                     id: "false",
                     span: Span {
                      start: Position {
                       line: 114,
                       column: 18,
                      },
                      end: Position {
                       line: 114,
                       column: 23,
                      },
                     },
                    },
                   ),
                  },
                 ),
                 then: String(
                  String_ {
                   parts: [
                    Raw(
                     PartRaw {
                      content: "false",
                      span: Span {
                       start: Position {
                        line: 114,
                        column: 30,
                       },
                       end: Position {
                        line: 114,
                        column: 35,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 114,
                     column: 29,
                    },
                    end: Position {
                     line: 114,
                     column: 36,
                    },
                   },
                  },
                 ),
                 else_: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "toString",
                     span: Span {
                      start: Position {
                       line: 115,
                       column: 10,
                      },
                      end: Position {
                       line: 115,
                       column: 18,
                      },
                     },
                    },
                   ),
                   arguments: [
                    Identifier(
                     Identifier {
                      id: "x",
                      span: Span {
                       start: Position {
                        line: 115,
                        column: 19,
                       },
                       end: Position {
                        line: 115,
                        column: 20,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 114,
                   column: 10,
                  },
                  end: Position {
                   line: 115,
                   column: 20,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 113,
                 column: 5,
                },
                end: Position {
                 line: 115,
                 column: 20,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 112,
               column: 14,
              },
              end: Position {
               line: 115,
               column: 20,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "attrsToSection",
              span: Span {
               start: Position {
                line: 117,
                column: 3,
               },
               end: Position {
                line: 117,
                column: 17,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "as",
              },
             ),
             body: FunctionApplication(
              FunctionApplication {
               function: Identifier(
                Identifier {
                 id: "concatStrings",
                 span: Span {
                  start: Position {
                   line: 118,
                   column: 5,
                  },
                  end: Position {
                   line: 118,
                   column: 18,
                  },
                 },
                },
               ),
               arguments: [
                FunctionApplication(
                 FunctionApplication {
                  function: Identifier(
                   Identifier {
                    id: "concatLists",
                    span: Span {
                     start: Position {
                      line: 118,
                      column: 20,
                     },
                     end: Position {
                      line: 118,
                      column: 31,
                     },
                    },
                   },
                  ),
                  arguments: [
                   FunctionApplication(
                    FunctionApplication {
                     function: Identifier(
                      Identifier {
                       id: "mapAttrsToList",
                       span: Span {
                        start: Position {
                         line: 118,
                         column: 33,
                        },
                        end: Position {
                         line: 118,
                         column: 47,
                        },
                       },
                      },
                     ),
                     arguments: [
                      Function(
                       Function {
                        head: Simple(
                         FunctionHeadSimple {
                          identifier: "name",
                         },
                        ),
                        body: Function(
                         Function {
                          head: Simple(
                           FunctionHeadSimple {
                            identifier: "value",
                           },
                          ),
                          body: FunctionApplication(
                           FunctionApplication {
                            function: Identifier(
                             Identifier {
                              id: "map",
                              span: Span {
                               start: Position {
                                line: 119,
                                column: 7,
                               },
                               end: Position {
                                line: 119,
                                column: 10,
                               },
                              },
                             },
                            ),
                            arguments: [
                             Function(
                              Function {
                               head: Simple(
                                FunctionHeadSimple {
                                 identifier: "x",
                                },
                               ),
                               body: IndentedString(
                                IndentedString {
                                 parts: [
                                  Raw(
                                   PartRaw {
                                    content: "",
                                    span: Span {
                                     start: Position {
                                      line: 120,
                                      column: 1,
                                     },
                                     end: Position {
                                      line: 120,
                                      column: 11,
                                     },
                                    },
                                   },
                                  ),
                                  Interpolation(
                                   PartInterpolation {
                                    expression: Identifier(
                                     Identifier {
                                      id: "name",
                                      span: Span {
                                       start: Position {
                                        line: 120,
                                        column: 13,
                                       },
                                       end: Position {
                                        line: 120,
                                        column: 17,
                                       },
                                      },
                                     },
                                    ),
                                   },
                                  ),
                                  Raw(
                                   PartRaw {
                                    content: "=",
                                    span: Span {
                                     start: Position {
                                      line: 120,
                                      column: 1,
                                     },
                                     end: Position {
                                      line: 120,
                                      column: 19,
                                     },
                                    },
                                   },
                                  ),
                                  Interpolation(
                                   PartInterpolation {
                                    expression: FunctionApplication(
                                     FunctionApplication {
                                      function: Identifier(
                                       Identifier {
                                        id: "toOption",
                                        span: Span {
                                         start: Position {
                                          line: 120,
                                          column: 21,
                                         },
                                         end: Position {
                                          line: 120,
                                          column: 29,
                                         },
                                        },
                                       },
                                      ),
                                      arguments: [
                                       Identifier(
                                        Identifier {
                                         id: "x",
                                         span: Span {
                                          start: Position {
                                           line: 120,
                                           column: 30,
                                          },
                                          end: Position {
                                           line: 120,
                                           column: 31,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                     },
                                    ),
                                   },
                                  ),
                                  Raw(
                                   PartRaw {
                                    content: "\n",
                                    span: Span {
                                     start: Position {
                                      line: 120,
                                      column: 1,
                                     },
                                     end: Position {
                                      line: 121,
                                      column: 9,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 span: Span {
                                  start: Position {
                                   line: 119,
                                   column: 15,
                                  },
                                  end: Position {
                                   line: 121,
                                   column: 11,
                                  },
                                 },
                                },
                               ),
                               span: Span {
                                start: Position {
                                 line: 119,
                                 column: 12,
                                },
                                end: Position {
                                 line: 121,
                                 column: 11,
                                },
                               },
                              },
                             ),
                             IfThenElse(
                              IfThenElse {
                               predicate: FunctionApplication(
                                FunctionApplication {
                                 function: Identifier(
                                  Identifier {
                                   id: "isList",
                                   span: Span {
                                    start: Position {
                                     line: 122,
                                     column: 13,
                                    },
                                    end: Position {
                                     line: 122,
                                     column: 19,
                                    },
                                   },
                                  },
                                 ),
                                 arguments: [
                                  Identifier(
                                   Identifier {
                                    id: "value",
                                    span: Span {
                                     start: Position {
                                      line: 122,
                                      column: 20,
                                     },
                                     end: Position {
                                      line: 122,
                                      column: 25,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                },
                               ),
                               then: Identifier(
                                Identifier {
                                 id: "value",
                                 span: Span {
                                  start: Position {
                                   line: 122,
                                   column: 31,
                                  },
                                  end: Position {
                                   line: 122,
                                   column: 36,
                                  },
                                 },
                                },
                               ),
                               else_: List(
                                List {
                                 elements: [
                                  Identifier(
                                   Identifier {
                                    id: "value",
                                    span: Span {
                                     start: Position {
                                      line: 122,
                                      column: 43,
                                     },
                                     end: Position {
                                      line: 122,
                                      column: 48,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 span: Span {
                                  start: Position {
                                   line: 122,
                                   column: 42,
                                  },
                                  end: Position {
                                   line: 122,
                                   column: 49,
                                  },
                                 },
                                },
                               ),
                               span: Span {
                                start: Position {
                                 line: 122,
                                 column: 10,
                                },
                                end: Position {
                                 line: 122,
                                 column: 49,
                                },
                               },
                              },
                             ),
                            ],
                           },
                          ),
                          span: Span {
                           start: Position {
                            line: 118,
                            column: 55,
                           },
                           end: Position {
                            line: 122,
                            column: 50,
                           },
                          },
                         },
                        ),
                        span: Span {
                         start: Position {
                          line: 118,
                          column: 49,
                         },
                         end: Position {
                          line: 122,
                          column: 50,
                         },
                        },
                       },
                      ),
                      Identifier(
                       Identifier {
                        id: "as",
                        span: Span {
                         start: Position {
                          line: 123,
                          column: 9,
                         },
                         end: Position {
                          line: 123,
                          column: 11,
                         },
                        },
                       },
                      ),
                     ],
                    },
                   ),
                  ],
                 },
                ),
               ],
              },
             ),
             span: Span {
              start: Position {
               line: 117,
               column: 20,
              },
              end: Position {
               line: 123,
               column: 13,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "generateUnits",
              span: Span {
               start: Position {
                line: 125,
                column: 3,
               },
               end: Position {
                line: 125,
                column: 16,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Destructured(
              FunctionHeadDestructured {
               ellipsis: false,
               identifier: None,
               arguments: [
                FunctionHeadDestructuredArgument {
                 identifier: "allowCollisions",
                 default: Some(
                  Identifier(
                   Identifier {
                    id: "true",
                    span: Span {
                     start: Position {
                      line: 125,
                      column: 39,
                     },
                     end: Position {
                      line: 125,
                      column: 43,
                     },
                    },
                   },
                  ),
                 ),
                },
                FunctionHeadDestructuredArgument {
                 identifier: "type",
                 default: None,
                },
                FunctionHeadDestructuredArgument {
                 identifier: "units",
                 default: None,
                },
                FunctionHeadDestructuredArgument {
                 identifier: "upstreamUnits",
                 default: None,
                },
                FunctionHeadDestructuredArgument {
                 identifier: "upstreamWants",
                 default: None,
                },
                FunctionHeadDestructuredArgument {
                 identifier: "packages",
                 default: Some(
                  PropertyAccess(
                   PropertyAccess {
                    expression: Identifier(
                     Identifier {
                      id: "cfg",
                      span: Span {
                       start: Position {
                        line: 125,
                        column: 99,
                       },
                       end: Position {
                        line: 125,
                        column: 102,
                       },
                      },
                     },
                    ),
                    attribute_path: [
                     Raw(
                      PartRaw {
                       content: "packages",
                       span: Span {
                        start: Position {
                         line: 125,
                         column: 103,
                        },
                        end: Position {
                         line: 125,
                         column: 111,
                        },
                       },
                      },
                     ),
                    ],
                    default: None,
                   },
                  ),
                 ),
                },
                FunctionHeadDestructuredArgument {
                 identifier: "package",
                 default: Some(
                  PropertyAccess(
                   PropertyAccess {
                    expression: Identifier(
                     Identifier {
                      id: "cfg",
                      span: Span {
                       start: Position {
                        line: 125,
                        column: 123,
                       },
                       end: Position {
                        line: 125,
                        column: 126,
                       },
                      },
                     },
                    ),
                    attribute_path: [
                     Raw(
                      PartRaw {
                       content: "package",
                       span: Span {
                        start: Position {
                         line: 125,
                         column: 127,
                        },
                        end: Position {
                         line: 125,
                         column: 134,
                        },
                       },
                      },
                     ),
                    ],
                    default: None,
                   },
                  ),
                 ),
                },
               ],
              },
             ),
             body: LetIn(
              LetIn {
               bindings: [
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "typeDir",
                     span: Span {
                      start: Position {
                       line: 127,
                       column: 7,
                      },
                      end: Position {
                       line: 127,
                       column: 14,
                      },
                     },
                    },
                   ),
                  ],
                  to: PropertyAccess(
                   PropertyAccess {
                    expression: Map(
                     Map {
                      recursive: false,
                      bindings: [
                       KeyValue(
                        BindingKeyValue {
                         from: [
                          Raw(
                           PartRaw {
                            content: "system",
                            span: Span {
                             start: Position {
                              line: 128,
                              column: 9,
                             },
                             end: Position {
                              line: 128,
                              column: 15,
                             },
                            },
                           },
                          ),
                         ],
                         to: String(
                          String_ {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "system",
                              span: Span {
                               start: Position {
                                line: 128,
                                column: 19,
                               },
                               end: Position {
                                line: 128,
                                column: 25,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 128,
                             column: 18,
                            },
                            end: Position {
                             line: 128,
                             column: 26,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       KeyValue(
                        BindingKeyValue {
                         from: [
                          Raw(
                           PartRaw {
                            content: "initrd",
                            span: Span {
                             start: Position {
                              line: 129,
                              column: 9,
                             },
                             end: Position {
                              line: 129,
                              column: 15,
                             },
                            },
                           },
                          ),
                         ],
                         to: String(
                          String_ {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "system",
                              span: Span {
                               start: Position {
                                line: 129,
                                column: 19,
                               },
                               end: Position {
                                line: 129,
                                column: 25,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 129,
                             column: 18,
                            },
                            end: Position {
                             line: 129,
                             column: 26,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       KeyValue(
                        BindingKeyValue {
                         from: [
                          Raw(
                           PartRaw {
                            content: "user",
                            span: Span {
                             start: Position {
                              line: 130,
                              column: 9,
                             },
                             end: Position {
                              line: 130,
                              column: 13,
                             },
                            },
                           },
                          ),
                         ],
                         to: String(
                          String_ {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "user",
                              span: Span {
                               start: Position {
                                line: 130,
                                column: 17,
                               },
                               end: Position {
                                line: 130,
                                column: 21,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 130,
                             column: 16,
                            },
                            end: Position {
                             line: 130,
                             column: 22,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       KeyValue(
                        BindingKeyValue {
                         from: [
                          Raw(
                           PartRaw {
                            content: "nspawn",
                            span: Span {
                             start: Position {
                              line: 131,
                              column: 9,
                             },
                             end: Position {
                              line: 131,
                              column: 15,
                             },
                            },
                           },
                          ),
                         ],
                         to: String(
                          String_ {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "nspawn",
                              span: Span {
                               start: Position {
                                line: 131,
                                column: 19,
                               },
                               end: Position {
                                line: 131,
                                column: 25,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 131,
                             column: 18,
                            },
                            end: Position {
                             line: 131,
                             column: 26,
                            },
                           },
                          },
                         ),
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 127,
                        column: 18,
                       },
                       end: Position {
                        line: 132,
                        column: 8,
                       },
                      },
                     },
                    ),
                    attribute_path: [
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "type",
                         span: Span {
                          start: Position {
                           line: 132,
                           column: 12,
                          },
                          end: Position {
                           line: 132,
                           column: 16,
                          },
                         },
                        },
                       ),
                      },
                     ),
                    ],
                    default: None,
                   },
                  ),
                 },
                ),
               ],
               target: FunctionApplication(
                FunctionApplication {
                 function: PropertyAccess(
                  PropertyAccess {
                   expression: Identifier(
                    Identifier {
                     id: "pkgs",
                     span: Span {
                      start: Position {
                       line: 133,
                       column: 8,
                      },
                      end: Position {
                       line: 133,
                       column: 12,
                      },
                     },
                    },
                   ),
                   attribute_path: [
                    Raw(
                     PartRaw {
                      content: "runCommand",
                      span: Span {
                       start: Position {
                        line: 133,
                        column: 13,
                       },
                       end: Position {
                        line: 133,
                        column: 23,
                       },
                      },
                     },
                    ),
                   ],
                   default: None,
                  },
                 ),
                 arguments: [
                  String(
                   String_ {
                    parts: [
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "type",
                         span: Span {
                          start: Position {
                           line: 133,
                           column: 27,
                          },
                          end: Position {
                           line: 133,
                           column: 31,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "-units",
                       span: Span {
                        start: Position {
                         line: 133,
                         column: 25,
                        },
                        end: Position {
                         line: 133,
                         column: 38,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 133,
                      column: 24,
                     },
                     end: Position {
                      line: 133,
                      column: 39,
                     },
                    },
                   },
                  ),
                  Map(
                   Map {
                    recursive: false,
                    bindings: [
                     KeyValue(
                      BindingKeyValue {
                       from: [
                        Raw(
                         PartRaw {
                          content: "preferLocalBuild",
                          span: Span {
                           start: Position {
                            line: 134,
                            column: 9,
                           },
                           end: Position {
                            line: 134,
                            column: 25,
                           },
                          },
                         },
                        ),
                       ],
                       to: Identifier(
                        Identifier {
                         id: "true",
                         span: Span {
                          start: Position {
                           line: 134,
                           column: 28,
                          },
                          end: Position {
                           line: 134,
                           column: 32,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     KeyValue(
                      BindingKeyValue {
                       from: [
                        Raw(
                         PartRaw {
                          content: "allowSubstitutes",
                          span: Span {
                           start: Position {
                            line: 135,
                            column: 9,
                           },
                           end: Position {
                            line: 135,
                            column: 25,
                           },
                          },
                         },
                        ),
                       ],
                       to: Identifier(
                        Identifier {
                         id: "false",
                         span: Span {
                          start: Position {
                           line: 135,
                           column: 28,
                          },
                          end: Position {
                           line: 135,
                           column: 33,
                          },
                         },
                        },
                       ),
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 134,
                      column: 7,
                     },
                     end: Position {
                      line: 136,
                      column: 8,
                     },
                    },
                   },
                  ),
                  IndentedString(
                   IndentedString {
                    parts: [
                     Raw(
                      PartRaw {
                       content: "mkdir -p $out\n\n# Copy the upstream systemd units we're interested in.\nfor i in ",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 140,
                         column: 16,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "toString",
                           span: Span {
                            start: Position {
                             line: 140,
                             column: 18,
                            },
                            end: Position {
                             line: 140,
                             column: 26,
                            },
                           },
                          },
                         ),
                         arguments: [
                          Identifier(
                           Identifier {
                            id: "upstreamUnits",
                            span: Span {
                             start: Position {
                              line: 140,
                              column: 27,
                             },
                             end: Position {
                              line: 140,
                              column: 40,
                             },
                            },
                           },
                          ),
                         ],
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "; do\n  fn=",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 141,
                         column: 12,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "package",
                         span: Span {
                          start: Position {
                           line: 141,
                           column: 14,
                          },
                          end: Position {
                           line: 141,
                           column: 21,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "/example/systemd/",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 141,
                         column: 39,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "typeDir",
                         span: Span {
                          start: Position {
                           line: 141,
                           column: 41,
                          },
                          end: Position {
                           line: 141,
                           column: 48,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "/$i\n  if ! [ -e $fn ]; then echo \"missing $fn\"; false; fi\n  if [ -L $fn ]; then\n    target=\"$(readlink \"$fn\")\"\n    if [ ",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 145,
                         column: 16,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "$",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 145,
                         column: 19,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "{target:0:3} = ../ ]; then\n      ln -s \"$(readlink -f \"$fn\")\" $out/\n    else\n      cp -pd $fn $out/\n    fi\n  else\n    ln -s $fn $out/\n  fi\ndone\n\n# Copy .wants links, but only those that point to units that\n# we're interested in.\nfor i in ",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 157,
                         column: 16,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "toString",
                           span: Span {
                            start: Position {
                             line: 157,
                             column: 18,
                            },
                            end: Position {
                             line: 157,
                             column: 26,
                            },
                           },
                          },
                         ),
                         arguments: [
                          Identifier(
                           Identifier {
                            id: "upstreamWants",
                            span: Span {
                             start: Position {
                              line: 157,
                              column: 27,
                             },
                             end: Position {
                              line: 157,
                              column: 40,
                             },
                            },
                           },
                          ),
                         ],
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "; do\n  fn=",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 158,
                         column: 12,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "package",
                         span: Span {
                          start: Position {
                           line: 158,
                           column: 14,
                          },
                          end: Position {
                           line: 158,
                           column: 21,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "/example/systemd/",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 158,
                         column: 39,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "typeDir",
                         span: Span {
                          start: Position {
                           line: 158,
                           column: 41,
                          },
                          end: Position {
                           line: 158,
                           column: 48,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "/$i\n  if ! [ -e $fn ]; then echo \"missing $fn\"; false; fi\n  x=$out/$(basename $fn)\n  mkdir $x\n  for i in $fn/*; do\n    y=$x/$(basename $i)\n    cp -pd $i $y\n    if ! [ -e $y ]; then rm $y; fi\n  done\ndone\n\n# Symlink all units provided listed in systemd.packages.\npackages=\"",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 170,
                         column: 17,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "toString",
                           span: Span {
                            start: Position {
                             line: 170,
                             column: 19,
                            },
                            end: Position {
                             line: 170,
                             column: 27,
                            },
                           },
                          },
                         ),
                         arguments: [
                          Identifier(
                           Identifier {
                            id: "packages",
                            span: Span {
                             start: Position {
                              line: 170,
                              column: 28,
                             },
                             end: Position {
                              line: 170,
                              column: 36,
                             },
                            },
                           },
                          ),
                         ],
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "\"\n\n# Filter duplicate directories\ndeclare -A unique_packages\nfor k in $packages ; do unique_packages[$k]=1 ; done\n\nfor i in ",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 176,
                         column: 16,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "$",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 176,
                         column: 19,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "{!unique_packages[@]}; do\n  for fn in $i/etc/systemd/",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 177,
                         column: 34,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "typeDir",
                         span: Span {
                          start: Position {
                           line: 177,
                           column: 36,
                          },
                          end: Position {
                           line: 177,
                           column: 43,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "/* $i/lib/systemd/",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 177,
                         column: 62,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "typeDir",
                         span: Span {
                          start: Position {
                           line: 177,
                           column: 64,
                          },
                          end: Position {
                           line: 177,
                           column: 71,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "/*; do\n    if ! [[ \"$fn\" =~ .wants$ ]]; then\n      if [[ -d \"$fn\" ]]; then\n        targetDir=\"$out/$(basename \"$fn\")\"\n        mkdir -p \"$targetDir\"\n        ",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 182,
                         column: 15,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "lndir",
                         span: Span {
                          start: Position {
                           line: 182,
                           column: 17,
                          },
                          end: Position {
                           line: 182,
                           column: 22,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: " \"$fn\" \"$targetDir\"\n      else\n        ln -s $fn $out/\n      fi\n    fi\n  done\ndone\n\n# Symlink units defined by systemd.units where override strategy\n# shall be automatically detected. If these are also provided by\n# systemd or systemd.packages, then add them as\n# <unit-name>.d/overrides.conf, which makes them extend the\n# upstream unit.\nfor i in ",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 195,
                         column: 16,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "toString",
                           span: Span {
                            start: Position {
                             line: 195,
                             column: 18,
                            },
                            end: Position {
                             line: 195,
                             column: 26,
                            },
                           },
                          },
                         ),
                         arguments: [
                          FunctionApplication(
                           FunctionApplication {
                            function: Identifier(
                             Identifier {
                              id: "mapAttrsToList",
                              span: Span {
                               start: Position {
                                line: 195,
                                column: 28,
                               },
                               end: Position {
                                line: 195,
                                column: 42,
                               },
                              },
                             },
                            ),
                            arguments: [
                             Function(
                              Function {
                               head: Simple(
                                FunctionHeadSimple {
                                 identifier: "n",
                                },
                               ),
                               body: Function(
                                Function {
                                 head: Simple(
                                  FunctionHeadSimple {
                                   identifier: "v",
                                  },
                                 ),
                                 body: PropertyAccess(
                                  PropertyAccess {
                                   expression: Identifier(
                                    Identifier {
                                     id: "v",
                                     span: Span {
                                      start: Position {
                                       line: 196,
                                       column: 18,
                                      },
                                      end: Position {
                                       line: 196,
                                       column: 19,
                                      },
                                     },
                                    },
                                   ),
                                   attribute_path: [
                                    Raw(
                                     PartRaw {
                                      content: "unit",
                                      span: Span {
                                       start: Position {
                                        line: 196,
                                        column: 20,
                                       },
                                       end: Position {
                                        line: 196,
                                        column: 24,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                   default: None,
                                  },
                                 ),
                                 span: Span {
                                  start: Position {
                                   line: 196,
                                   column: 15,
                                  },
                                  end: Position {
                                   line: 196,
                                   column: 24,
                                  },
                                 },
                                },
                               ),
                               span: Span {
                                start: Position {
                                 line: 196,
                                 column: 12,
                                },
                                end: Position {
                                 line: 196,
                                 column: 24,
                                },
                               },
                              },
                             ),
                             FunctionApplication(
                              FunctionApplication {
                               function: PropertyAccess(
                                PropertyAccess {
                                 expression: Identifier(
                                  Identifier {
                                   id: "lib",
                                   span: Span {
                                    start: Position {
                                     line: 197,
                                     column: 12,
                                    },
                                    end: Position {
                                     line: 197,
                                     column: 15,
                                    },
                                   },
                                  },
                                 ),
                                 attribute_path: [
                                  Raw(
                                   PartRaw {
                                    content: "filterAttrs",
                                    span: Span {
                                     start: Position {
                                      line: 197,
                                      column: 16,
                                     },
                                     end: Position {
                                      line: 197,
                                      column: 27,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 default: None,
                                },
                               ),
                               arguments: [
                                Function(
                                 Function {
                                  head: Simple(
                                   FunctionHeadSimple {
                                    identifier: "n",
                                   },
                                  ),
                                  body: Function(
                                   Function {
                                    head: Simple(
                                     FunctionHeadSimple {
                                      identifier: "v",
                                     },
                                    ),
                                    body: BinaryOperation(
                                     BinaryOperation {
                                      left: FunctionApplication(
                                       FunctionApplication {
                                        function: Identifier(
                                         Identifier {
                                          id: "attrByPath",
                                          span: Span {
                                           start: Position {
                                            line: 197,
                                            column: 36,
                                           },
                                           end: Position {
                                            line: 197,
                                            column: 46,
                                           },
                                          },
                                         },
                                        ),
                                        arguments: [
                                         List(
                                          List {
                                           elements: [
                                            String(
                                             String_ {
                                              parts: [
                                               Raw(
                                                PartRaw {
                                                 content: "overrideStrategy",
                                                 span: Span {
                                                  start: Position {
                                                   line: 197,
                                                   column: 50,
                                                  },
                                                  end: Position {
                                                   line: 197,
                                                   column: 66,
                                                  },
                                                 },
                                                },
                                               ),
                                              ],
                                              span: Span {
                                               start: Position {
                                                line: 197,
                                                column: 49,
                                               },
                                               end: Position {
                                                line: 197,
                                                column: 67,
                                               },
                                              },
                                             },
                                            ),
                                           ],
                                           span: Span {
                                            start: Position {
                                             line: 197,
                                             column: 47,
                                            },
                                            end: Position {
                                             line: 197,
                                             column: 69,
                                            },
                                           },
                                          },
                                         ),
                                         String(
                                          String_ {
                                           parts: [
                                            Raw(
                                             PartRaw {
                                              content: "asDropinIfExists",
                                              span: Span {
                                               start: Position {
                                                line: 197,
                                                column: 71,
                                               },
                                               end: Position {
                                                line: 197,
                                                column: 87,
                                               },
                                              },
                                             },
                                            ),
                                           ],
                                           span: Span {
                                            start: Position {
                                             line: 197,
                                             column: 70,
                                            },
                                            end: Position {
                                             line: 197,
                                             column: 88,
                                            },
                                           },
                                          },
                                         ),
                                         Identifier(
                                          Identifier {
                                           id: "v",
                                           span: Span {
                                            start: Position {
                                             line: 197,
                                             column: 89,
                                            },
                                            end: Position {
                                             line: 197,
                                             column: 90,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                       },
                                      ),
                                      operator: EqualTo,
                                      right: String(
                                       String_ {
                                        parts: [
                                         Raw(
                                          PartRaw {
                                           content: "asDropinIfExists",
                                           span: Span {
                                            start: Position {
                                             line: 197,
                                             column: 96,
                                            },
                                            end: Position {
                                             line: 197,
                                             column: 112,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                        span: Span {
                                         start: Position {
                                          line: 197,
                                          column: 95,
                                         },
                                         end: Position {
                                          line: 197,
                                          column: 113,
                                         },
                                        },
                                       },
                                      ),
                                     },
                                    ),
                                    span: Span {
                                     start: Position {
                                      line: 197,
                                      column: 32,
                                     },
                                     end: Position {
                                      line: 197,
                                      column: 113,
                                     },
                                    },
                                   },
                                  ),
                                  span: Span {
                                   start: Position {
                                    line: 197,
                                    column: 29,
                                   },
                                   end: Position {
                                    line: 197,
                                    column: 113,
                                   },
                                  },
                                 },
                                ),
                                Identifier(
                                 Identifier {
                                  id: "units",
                                  span: Span {
                                   start: Position {
                                    line: 197,
                                    column: 115,
                                   },
                                   end: Position {
                                    line: 197,
                                    column: 120,
                                   },
                                  },
                                 },
                                ),
                               ],
                              },
                             ),
                            ],
                           },
                          ),
                         ],
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "; do\n  fn=$(basename $i/*)\n  if [ -e $out/$fn ]; then\n    if [ \"$(readlink -f $i/$fn)\" = /dev/null ]; then\n      ln -sfn /dev/null $out/$fn\n    else\n      ",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 203,
                         column: 13,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: IfThenElse(
                        IfThenElse {
                         predicate: Identifier(
                          Identifier {
                           id: "allowCollisions",
                           span: Span {
                            start: Position {
                             line: 203,
                             column: 18,
                            },
                            end: Position {
                             line: 203,
                             column: 33,
                            },
                           },
                          },
                         ),
                         then: IndentedString(
                          IndentedString {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "mkdir -p $out/$fn.d\nln -s $i/$fn $out/$fn.d/overrides.conf\n",
                              span: Span {
                               start: Position {
                                line: 204,
                                column: 1,
                               },
                               end: Position {
                                line: 206,
                                column: 13,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 203,
                             column: 39,
                            },
                            end: Position {
                             line: 206,
                             column: 15,
                            },
                           },
                          },
                         ),
                         else_: IndentedString(
                          IndentedString {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "echo \"Found multiple derivations configuring $fn!\"\nexit 1\n",
                              span: Span {
                               start: Position {
                                line: 207,
                                column: 1,
                               },
                               end: Position {
                                line: 209,
                                column: 13,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 206,
                             column: 21,
                            },
                            end: Position {
                             line: 209,
                             column: 15,
                            },
                           },
                          },
                         ),
                         span: Span {
                          start: Position {
                           line: 203,
                           column: 15,
                          },
                          end: Position {
                           line: 209,
                           column: 15,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "\n    fi\n else\n    ln -fs $i/$fn $out/\n  fi\ndone\n\n# Symlink units defined by systemd.units which shall be\n# treated as drop-in file.\nfor i in ",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 218,
                         column: 16,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "toString",
                           span: Span {
                            start: Position {
                             line: 218,
                             column: 18,
                            },
                            end: Position {
                             line: 218,
                             column: 26,
                            },
                           },
                          },
                         ),
                         arguments: [
                          FunctionApplication(
                           FunctionApplication {
                            function: Identifier(
                             Identifier {
                              id: "mapAttrsToList",
                              span: Span {
                               start: Position {
                                line: 218,
                                column: 28,
                               },
                               end: Position {
                                line: 218,
                                column: 42,
                               },
                              },
                             },
                            ),
                            arguments: [
                             Function(
                              Function {
                               head: Simple(
                                FunctionHeadSimple {
                                 identifier: "n",
                                },
                               ),
                               body: Function(
                                Function {
                                 head: Simple(
                                  FunctionHeadSimple {
                                   identifier: "v",
                                  },
                                 ),
                                 body: PropertyAccess(
                                  PropertyAccess {
                                   expression: Identifier(
                                    Identifier {
                                     id: "v",
                                     span: Span {
                                      start: Position {
                                       line: 219,
                                       column: 18,
                                      },
                                      end: Position {
                                       line: 219,
                                       column: 19,
                                      },
                                     },
                                    },
                                   ),
                                   attribute_path: [
                                    Raw(
                                     PartRaw {
                                      content: "unit",
                                      span: Span {
                                       start: Position {
                                        line: 219,
                                        column: 20,
                                       },
                                       end: Position {
                                        line: 219,
                                        column: 24,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                   default: None,
                                  },
                                 ),
                                 span: Span {
                                  start: Position {
                                   line: 219,
                                   column: 15,
                                  },
                                  end: Position {
                                   line: 219,
                                   column: 24,
                                  },
                                 },
                                },
                               ),
                               span: Span {
                                start: Position {
                                 line: 219,
                                 column: 12,
                                },
                                end: Position {
                                 line: 219,
                                 column: 24,
                                },
                               },
                              },
                             ),
                             FunctionApplication(
                              FunctionApplication {
                               function: PropertyAccess(
                                PropertyAccess {
                                 expression: Identifier(
                                  Identifier {
                                   id: "lib",
                                   span: Span {
                                    start: Position {
                                     line: 220,
                                     column: 12,
                                    },
                                    end: Position {
                                     line: 220,
                                     column: 15,
                                    },
                                   },
                                  },
                                 ),
                                 attribute_path: [
                                  Raw(
                                   PartRaw {
                                    content: "filterAttrs",
                                    span: Span {
                                     start: Position {
                                      line: 220,
                                      column: 16,
                                     },
                                     end: Position {
                                      line: 220,
                                      column: 27,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 default: None,
                                },
                               ),
                               arguments: [
                                Function(
                                 Function {
                                  head: Simple(
                                   FunctionHeadSimple {
                                    identifier: "n",
                                   },
                                  ),
                                  body: Function(
                                   Function {
                                    head: Simple(
                                     FunctionHeadSimple {
                                      identifier: "v",
                                     },
                                    ),
                                    body: BinaryOperation(
                                     BinaryOperation {
                                      left: HasAttribute(
                                       HasAttribute {
                                        expression: Identifier(
                                         Identifier {
                                          id: "v",
                                          span: Span {
                                           start: Position {
                                            line: 220,
                                            column: 35,
                                           },
                                           end: Position {
                                            line: 220,
                                            column: 36,
                                           },
                                          },
                                         },
                                        ),
                                        attribute_path: [
                                         Raw(
                                          PartRaw {
                                           content: "overrideStrategy",
                                           span: Span {
                                            start: Position {
                                             line: 220,
                                             column: 39,
                                            },
                                            end: Position {
                                             line: 220,
                                             column: 55,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                       },
                                      ),
                                      operator: LogicalAnd,
                                      right: BinaryOperation(
                                       BinaryOperation {
                                        left: PropertyAccess(
                                         PropertyAccess {
                                          expression: Identifier(
                                           Identifier {
                                            id: "v",
                                            span: Span {
                                             start: Position {
                                              line: 220,
                                              column: 59,
                                             },
                                             end: Position {
                                              line: 220,
                                              column: 60,
                                             },
                                            },
                                           },
                                          ),
                                          attribute_path: [
                                           Raw(
                                            PartRaw {
                                             content: "overrideStrategy",
                                             span: Span {
                                              start: Position {
                                               line: 220,
                                               column: 61,
                                              },
                                              end: Position {
                                               line: 220,
                                               column: 77,
                                              },
                                             },
                                            },
                                           ),
                                          ],
                                          default: None,
                                         },
                                        ),
                                        operator: EqualTo,
                                        right: String(
                                         String_ {
                                          parts: [
                                           Raw(
                                            PartRaw {
                                             content: "asDropin",
                                             span: Span {
                                              start: Position {
                                               line: 220,
                                               column: 82,
                                              },
                                              end: Position {
                                               line: 220,
                                               column: 90,
                                              },
                                             },
                                            },
                                           ),
                                          ],
                                          span: Span {
                                           start: Position {
                                            line: 220,
                                            column: 81,
                                           },
                                           end: Position {
                                            line: 220,
                                            column: 91,
                                           },
                                          },
                                         },
                                        ),
                                       },
                                      ),
                                     },
                                    ),
                                    span: Span {
                                     start: Position {
                                      line: 220,
                                      column: 32,
                                     },
                                     end: Position {
                                      line: 220,
                                      column: 91,
                                     },
                                    },
                                   },
                                  ),
                                  span: Span {
                                   start: Position {
                                    line: 220,
                                    column: 29,
                                   },
                                   end: Position {
                                    line: 220,
                                    column: 91,
                                   },
                                  },
                                 },
                                ),
                                Identifier(
                                 Identifier {
                                  id: "units",
                                  span: Span {
                                   start: Position {
                                    line: 220,
                                    column: 93,
                                   },
                                   end: Position {
                                    line: 220,
                                    column: 98,
                                   },
                                  },
                                 },
                                ),
                               ],
                              },
                             ),
                            ],
                           },
                          ),
                         ],
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "; do\n  fn=$(basename $i/*)\n  mkdir -p $out/$fn.d\n  ln -s $i/$fn $out/$fn.d/overrides.conf\ndone\n\n# Create service aliases from aliases option.\n",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 227,
                         column: 7,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "concatStrings",
                           span: Span {
                            start: Position {
                             line: 227,
                             column: 9,
                            },
                            end: Position {
                             line: 227,
                             column: 22,
                            },
                           },
                          },
                         ),
                         arguments: [
                          FunctionApplication(
                           FunctionApplication {
                            function: Identifier(
                             Identifier {
                              id: "mapAttrsToList",
                              span: Span {
                               start: Position {
                                line: 227,
                                column: 24,
                               },
                               end: Position {
                                line: 227,
                                column: 38,
                               },
                              },
                             },
                            ),
                            arguments: [
                             Function(
                              Function {
                               head: Simple(
                                FunctionHeadSimple {
                                 identifier: "name",
                                },
                               ),
                               body: Function(
                                Function {
                                 head: Simple(
                                  FunctionHeadSimple {
                                   identifier: "unit",
                                  },
                                 ),
                                 body: FunctionApplication(
                                  FunctionApplication {
                                   function: Identifier(
                                    Identifier {
                                     id: "concatMapStrings",
                                     span: Span {
                                      start: Position {
                                       line: 228,
                                       column: 11,
                                      },
                                      end: Position {
                                       line: 228,
                                       column: 27,
                                      },
                                     },
                                    },
                                   ),
                                   arguments: [
                                    Function(
                                     Function {
                                      head: Simple(
                                       FunctionHeadSimple {
                                        identifier: "name2",
                                       },
                                      ),
                                      body: IndentedString(
                                       IndentedString {
                                        parts: [
                                         Raw(
                                          PartRaw {
                                           content: "ln -sfn ",
                                           span: Span {
                                            start: Position {
                                             line: 229,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 229,
                                             column: 21,
                                            },
                                           },
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "'",
                                           span: Span {
                                            start: Position {
                                             line: 229,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 229,
                                             column: 22,
                                            },
                                           },
                                          },
                                         ),
                                         Interpolation(
                                          PartInterpolation {
                                           expression: Identifier(
                                            Identifier {
                                             id: "name",
                                             span: Span {
                                              start: Position {
                                               line: 229,
                                               column: 24,
                                              },
                                              end: Position {
                                               line: 229,
                                               column: 28,
                                              },
                                             },
                                            },
                                           ),
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "' $out/",
                                           span: Span {
                                            start: Position {
                                             line: 229,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 229,
                                             column: 36,
                                            },
                                           },
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "'",
                                           span: Span {
                                            start: Position {
                                             line: 229,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 229,
                                             column: 37,
                                            },
                                           },
                                          },
                                         ),
                                         Interpolation(
                                          PartInterpolation {
                                           expression: Identifier(
                                            Identifier {
                                             id: "name2",
                                             span: Span {
                                              start: Position {
                                               line: 229,
                                               column: 39,
                                              },
                                              end: Position {
                                               line: 229,
                                               column: 44,
                                              },
                                             },
                                            },
                                           ),
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "'\n",
                                           span: Span {
                                            start: Position {
                                             line: 229,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 230,
                                             column: 11,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                        span: Span {
                                         start: Position {
                                          line: 228,
                                          column: 36,
                                         },
                                         end: Position {
                                          line: 230,
                                          column: 13,
                                         },
                                        },
                                       },
                                      ),
                                      span: Span {
                                       start: Position {
                                        line: 228,
                                        column: 29,
                                       },
                                       end: Position {
                                        line: 230,
                                        column: 13,
                                       },
                                      },
                                     },
                                    ),
                                    PropertyAccess(
                                     PropertyAccess {
                                      expression: Identifier(
                                       Identifier {
                                        id: "unit",
                                        span: Span {
                                         start: Position {
                                          line: 230,
                                          column: 16,
                                         },
                                         end: Position {
                                          line: 230,
                                          column: 20,
                                         },
                                        },
                                       },
                                      ),
                                      attribute_path: [
                                       Raw(
                                        PartRaw {
                                         content: "aliases",
                                         span: Span {
                                          start: Position {
                                           line: 230,
                                           column: 21,
                                          },
                                          end: Position {
                                           line: 230,
                                           column: 28,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      default: Some(
                                       List(
                                        List {
                                         elements: [],
                                         span: Span {
                                          start: Position {
                                           line: 230,
                                           column: 32,
                                          },
                                          end: Position {
                                           line: 230,
                                           column: 34,
                                          },
                                         },
                                        },
                                       ),
                                      ),
                                     },
                                    ),
                                   ],
                                  },
                                 ),
                                 span: Span {
                                  start: Position {
                                   line: 227,
                                   column: 46,
                                  },
                                  end: Position {
                                   line: 230,
                                   column: 35,
                                  },
                                 },
                                },
                               ),
                               span: Span {
                                start: Position {
                                 line: 227,
                                 column: 40,
                                },
                                end: Position {
                                 line: 230,
                                 column: 35,
                                },
                               },
                              },
                             ),
                             Identifier(
                              Identifier {
                               id: "units",
                               span: Span {
                                start: Position {
                                 line: 230,
                                 column: 37,
                                },
                                end: Position {
                                 line: 230,
                                 column: 42,
                                },
                               },
                              },
                             ),
                            ],
                           },
                          ),
                         ],
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "\n\n# Create .wants and .requires symlinks from the wantedBy and\n# requiredBy options.\n",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 234,
                         column: 7,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "concatStrings",
                           span: Span {
                            start: Position {
                             line: 234,
                             column: 9,
                            },
                            end: Position {
                             line: 234,
                             column: 22,
                            },
                           },
                          },
                         ),
                         arguments: [
                          FunctionApplication(
                           FunctionApplication {
                            function: Identifier(
                             Identifier {
                              id: "mapAttrsToList",
                              span: Span {
                               start: Position {
                                line: 234,
                                column: 24,
                               },
                               end: Position {
                                line: 234,
                                column: 38,
                               },
                              },
                             },
                            ),
                            arguments: [
                             Function(
                              Function {
                               head: Simple(
                                FunctionHeadSimple {
                                 identifier: "name",
                                },
                               ),
                               body: Function(
                                Function {
                                 head: Simple(
                                  FunctionHeadSimple {
                                   identifier: "unit",
                                  },
                                 ),
                                 body: FunctionApplication(
                                  FunctionApplication {
                                   function: Identifier(
                                    Identifier {
                                     id: "concatMapStrings",
                                     span: Span {
                                      start: Position {
                                       line: 235,
                                       column: 11,
                                      },
                                      end: Position {
                                       line: 235,
                                       column: 27,
                                      },
                                     },
                                    },
                                   ),
                                   arguments: [
                                    Function(
                                     Function {
                                      head: Simple(
                                       FunctionHeadSimple {
                                        identifier: "name2",
                                       },
                                      ),
                                      body: IndentedString(
                                       IndentedString {
                                        parts: [
                                         Raw(
                                          PartRaw {
                                           content: "mkdir -p $out/",
                                           span: Span {
                                            start: Position {
                                             line: 236,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 236,
                                             column: 27,
                                            },
                                           },
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "'",
                                           span: Span {
                                            start: Position {
                                             line: 236,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 236,
                                             column: 28,
                                            },
                                           },
                                          },
                                         ),
                                         Interpolation(
                                          PartInterpolation {
                                           expression: Identifier(
                                            Identifier {
                                             id: "name2",
                                             span: Span {
                                              start: Position {
                                               line: 236,
                                               column: 30,
                                              },
                                              end: Position {
                                               line: 236,
                                               column: 35,
                                              },
                                             },
                                            },
                                           ),
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: ".wants'\nln -sfn '../",
                                           span: Span {
                                            start: Position {
                                             line: 236,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 237,
                                             column: 25,
                                            },
                                           },
                                          },
                                         ),
                                         Interpolation(
                                          PartInterpolation {
                                           expression: Identifier(
                                            Identifier {
                                             id: "name",
                                             span: Span {
                                              start: Position {
                                               line: 237,
                                               column: 27,
                                              },
                                              end: Position {
                                               line: 237,
                                               column: 31,
                                              },
                                             },
                                            },
                                           ),
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "' $out/",
                                           span: Span {
                                            start: Position {
                                             line: 236,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 237,
                                             column: 39,
                                            },
                                           },
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "'",
                                           span: Span {
                                            start: Position {
                                             line: 236,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 237,
                                             column: 40,
                                            },
                                           },
                                          },
                                         ),
                                         Interpolation(
                                          PartInterpolation {
                                           expression: Identifier(
                                            Identifier {
                                             id: "name2",
                                             span: Span {
                                              start: Position {
                                               line: 237,
                                               column: 42,
                                              },
                                              end: Position {
                                               line: 237,
                                               column: 47,
                                              },
                                             },
                                            },
                                           ),
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: ".wants'/\n",
                                           span: Span {
                                            start: Position {
                                             line: 236,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 238,
                                             column: 11,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                        span: Span {
                                         start: Position {
                                          line: 235,
                                          column: 36,
                                         },
                                         end: Position {
                                          line: 238,
                                          column: 13,
                                         },
                                        },
                                       },
                                      ),
                                      span: Span {
                                       start: Position {
                                        line: 235,
                                        column: 29,
                                       },
                                       end: Position {
                                        line: 238,
                                        column: 13,
                                       },
                                      },
                                     },
                                    ),
                                    PropertyAccess(
                                     PropertyAccess {
                                      expression: Identifier(
                                       Identifier {
                                        id: "unit",
                                        span: Span {
                                         start: Position {
                                          line: 238,
                                          column: 16,
                                         },
                                         end: Position {
                                          line: 238,
                                          column: 20,
                                         },
                                        },
                                       },
                                      ),
                                      attribute_path: [
                                       Raw(
                                        PartRaw {
                                         content: "wantedBy",
                                         span: Span {
                                          start: Position {
                                           line: 238,
                                           column: 21,
                                          },
                                          end: Position {
                                           line: 238,
                                           column: 29,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      default: Some(
                                       List(
                                        List {
                                         elements: [],
                                         span: Span {
                                          start: Position {
                                           line: 238,
                                           column: 33,
                                          },
                                          end: Position {
                                           line: 238,
                                           column: 35,
                                          },
                                         },
                                        },
                                       ),
                                      ),
                                     },
                                    ),
                                   ],
                                  },
                                 ),
                                 span: Span {
                                  start: Position {
                                   line: 234,
                                   column: 46,
                                  },
                                  end: Position {
                                   line: 238,
                                   column: 36,
                                  },
                                 },
                                },
                               ),
                               span: Span {
                                start: Position {
                                 line: 234,
                                 column: 40,
                                },
                                end: Position {
                                 line: 238,
                                 column: 36,
                                },
                               },
                              },
                             ),
                             Identifier(
                              Identifier {
                               id: "units",
                               span: Span {
                                start: Position {
                                 line: 238,
                                 column: 38,
                                },
                                end: Position {
                                 line: 238,
                                 column: 43,
                                },
                               },
                              },
                             ),
                            ],
                           },
                          ),
                         ],
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "\n\n",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 240,
                         column: 7,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "concatStrings",
                           span: Span {
                            start: Position {
                             line: 240,
                             column: 9,
                            },
                            end: Position {
                             line: 240,
                             column: 22,
                            },
                           },
                          },
                         ),
                         arguments: [
                          FunctionApplication(
                           FunctionApplication {
                            function: Identifier(
                             Identifier {
                              id: "mapAttrsToList",
                              span: Span {
                               start: Position {
                                line: 240,
                                column: 24,
                               },
                               end: Position {
                                line: 240,
                                column: 38,
                               },
                              },
                             },
                            ),
                            arguments: [
                             Function(
                              Function {
                               head: Simple(
                                FunctionHeadSimple {
                                 identifier: "name",
                                },
                               ),
                               body: Function(
                                Function {
                                 head: Simple(
                                  FunctionHeadSimple {
                                   identifier: "unit",
                                  },
                                 ),
                                 body: FunctionApplication(
                                  FunctionApplication {
                                   function: Identifier(
                                    Identifier {
                                     id: "concatMapStrings",
                                     span: Span {
                                      start: Position {
                                       line: 241,
                                       column: 11,
                                      },
                                      end: Position {
                                       line: 241,
                                       column: 27,
                                      },
                                     },
                                    },
                                   ),
                                   arguments: [
                                    Function(
                                     Function {
                                      head: Simple(
                                       FunctionHeadSimple {
                                        identifier: "name2",
                                       },
                                      ),
                                      body: IndentedString(
                                       IndentedString {
                                        parts: [
                                         Raw(
                                          PartRaw {
                                           content: "mkdir -p $out/",
                                           span: Span {
                                            start: Position {
                                             line: 242,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 242,
                                             column: 27,
                                            },
                                           },
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "'",
                                           span: Span {
                                            start: Position {
                                             line: 242,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 242,
                                             column: 28,
                                            },
                                           },
                                          },
                                         ),
                                         Interpolation(
                                          PartInterpolation {
                                           expression: Identifier(
                                            Identifier {
                                             id: "name2",
                                             span: Span {
                                              start: Position {
                                               line: 242,
                                               column: 30,
                                              },
                                              end: Position {
                                               line: 242,
                                               column: 35,
                                              },
                                             },
                                            },
                                           ),
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: ".requires'\nln -sfn '../",
                                           span: Span {
                                            start: Position {
                                             line: 242,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 243,
                                             column: 25,
                                            },
                                           },
                                          },
                                         ),
                                         Interpolation(
                                          PartInterpolation {
                                           expression: Identifier(
                                            Identifier {
                                             id: "name",
                                             span: Span {
                                              start: Position {
                                               line: 243,
                                               column: 27,
                                              },
                                              end: Position {
                                               line: 243,
                                               column: 31,
                                              },
                                             },
                                            },
                                           ),
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "' $out/",
                                           span: Span {
                                            start: Position {
                                             line: 242,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 243,
                                             column: 39,
                                            },
                                           },
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: "'",
                                           span: Span {
                                            start: Position {
                                             line: 242,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 243,
                                             column: 40,
                                            },
                                           },
                                          },
                                         ),
                                         Interpolation(
                                          PartInterpolation {
                                           expression: Identifier(
                                            Identifier {
                                             id: "name2",
                                             span: Span {
                                              start: Position {
                                               line: 243,
                                               column: 42,
                                              },
                                              end: Position {
                                               line: 243,
                                               column: 47,
                                              },
                                             },
                                            },
                                           ),
                                          },
                                         ),
                                         Raw(
                                          PartRaw {
                                           content: ".requires'/\n",
                                           span: Span {
                                            start: Position {
                                             line: 242,
                                             column: 1,
                                            },
                                            end: Position {
                                             line: 244,
                                             column: 11,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                        span: Span {
                                         start: Position {
                                          line: 241,
                                          column: 36,
                                         },
                                         end: Position {
                                          line: 244,
                                          column: 13,
                                         },
                                        },
                                       },
                                      ),
                                      span: Span {
                                       start: Position {
                                        line: 241,
                                        column: 29,
                                       },
                                       end: Position {
                                        line: 244,
                                        column: 13,
                                       },
                                      },
                                     },
                                    ),
                                    PropertyAccess(
                                     PropertyAccess {
                                      expression: Identifier(
                                       Identifier {
                                        id: "unit",
                                        span: Span {
                                         start: Position {
                                          line: 244,
                                          column: 16,
                                         },
                                         end: Position {
                                          line: 244,
                                          column: 20,
                                         },
                                        },
                                       },
                                      ),
                                      attribute_path: [
                                       Raw(
                                        PartRaw {
                                         content: "requiredBy",
                                         span: Span {
                                          start: Position {
                                           line: 244,
                                           column: 21,
                                          },
                                          end: Position {
                                           line: 244,
                                           column: 31,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      default: Some(
                                       List(
                                        List {
                                         elements: [],
                                         span: Span {
                                          start: Position {
                                           line: 244,
                                           column: 35,
                                          },
                                          end: Position {
                                           line: 244,
                                           column: 37,
                                          },
                                         },
                                        },
                                       ),
                                      ),
                                     },
                                    ),
                                   ],
                                  },
                                 ),
                                 span: Span {
                                  start: Position {
                                   line: 240,
                                   column: 46,
                                  },
                                  end: Position {
                                   line: 244,
                                   column: 38,
                                  },
                                 },
                                },
                               ),
                               span: Span {
                                start: Position {
                                 line: 240,
                                 column: 40,
                                },
                                end: Position {
                                 line: 244,
                                 column: 38,
                                },
                               },
                              },
                             ),
                             Identifier(
                              Identifier {
                               id: "units",
                               span: Span {
                                start: Position {
                                 line: 244,
                                 column: 40,
                                },
                                end: Position {
                                 line: 244,
                                 column: 45,
                                },
                               },
                              },
                             ),
                            ],
                           },
                          ),
                         ],
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "\n\n",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 246,
                         column: 7,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "optionalString",
                           span: Span {
                            start: Position {
                             line: 246,
                             column: 9,
                            },
                            end: Position {
                             line: 246,
                             column: 23,
                            },
                           },
                          },
                         ),
                         arguments: [
                          BinaryOperation(
                           BinaryOperation {
                            left: Identifier(
                             Identifier {
                              id: "type",
                              span: Span {
                               start: Position {
                                line: 246,
                                column: 25,
                               },
                               end: Position {
                                line: 246,
                                column: 29,
                               },
                              },
                             },
                            ),
                            operator: EqualTo,
                            right: String(
                             String_ {
                              parts: [
                               Raw(
                                PartRaw {
                                 content: "system",
                                 span: Span {
                                  start: Position {
                                   line: 246,
                                   column: 34,
                                  },
                                  end: Position {
                                   line: 246,
                                   column: 40,
                                  },
                                 },
                                },
                               ),
                              ],
                              span: Span {
                               start: Position {
                                line: 246,
                                column: 33,
                               },
                               end: Position {
                                line: 246,
                                column: 41,
                               },
                              },
                             },
                            ),
                           },
                          ),
                          IndentedString(
                           IndentedString {
                            parts: [
                             Raw(
                              PartRaw {
                               content: "# Stupid misc. symlinks.\nln -s ",
                               span: Span {
                                start: Position {
                                 line: 247,
                                 column: 1,
                                },
                                end: Position {
                                 line: 248,
                                 column: 15,
                                },
                               },
                              },
                             ),
                             Interpolation(
                              PartInterpolation {
                               expression: PropertyAccess(
                                PropertyAccess {
                                 expression: Identifier(
                                  Identifier {
                                   id: "cfg",
                                   span: Span {
                                    start: Position {
                                     line: 248,
                                     column: 17,
                                    },
                                    end: Position {
                                     line: 248,
                                     column: 20,
                                    },
                                   },
                                  },
                                 ),
                                 attribute_path: [
                                  Raw(
                                   PartRaw {
                                    content: "defaultUnit",
                                    span: Span {
                                     start: Position {
                                      line: 248,
                                      column: 21,
                                     },
                                     end: Position {
                                      line: 248,
                                      column: 32,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 default: None,
                                },
                               ),
                              },
                             ),
                             Raw(
                              PartRaw {
                               content: " $out/default.target\nln -s ",
                               span: Span {
                                start: Position {
                                 line: 247,
                                 column: 1,
                                },
                                end: Position {
                                 line: 249,
                                 column: 15,
                                },
                               },
                              },
                             ),
                             Interpolation(
                              PartInterpolation {
                               expression: PropertyAccess(
                                PropertyAccess {
                                 expression: Identifier(
                                  Identifier {
                                   id: "cfg",
                                   span: Span {
                                    start: Position {
                                     line: 249,
                                     column: 17,
                                    },
                                    end: Position {
                                     line: 249,
                                     column: 20,
                                    },
                                   },
                                  },
                                 ),
                                 attribute_path: [
                                  Raw(
                                   PartRaw {
                                    content: "ctrlAltDelUnit",
                                    span: Span {
                                     start: Position {
                                      line: 249,
                                      column: 21,
                                     },
                                     end: Position {
                                      line: 249,
                                      column: 35,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 default: None,
                                },
                               ),
                              },
                             ),
                             Raw(
                              PartRaw {
                               content: " $out/ctrl-alt-del.target\nln -s rescue.target $out/kbrequest.target\n\nmkdir -p $out/getty.target.wants/\nln -s ../autovt@tty1.service $out/getty.target.wants/\n\nln -s ../remote-fs.target $out/multi-user.target.wants/\n",
                               span: Span {
                                start: Position {
                                 line: 247,
                                 column: 1,
                                },
                                end: Position {
                                 line: 256,
                                 column: 7,
                                },
                               },
                              },
                             ),
                            ],
                            span: Span {
                             start: Position {
                              line: 246,
                              column: 43,
                             },
                             end: Position {
                              line: 256,
                              column: 9,
                             },
                            },
                           },
                          ),
                         ],
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "\n",
                       span: Span {
                        start: Position {
                         line: 137,
                         column: 1,
                        },
                        end: Position {
                         line: 257,
                         column: 5,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 136,
                      column: 9,
                     },
                     end: Position {
                      line: 257,
                      column: 7,
                     },
                    },
                   },
                  ),
                 ],
                },
               ),
               span: Span {
                start: Position {
                 line: 126,
                 column: 5,
                },
                end: Position {
                 line: 257,
                 column: 7,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 125,
               column: 19,
              },
              end: Position {
               line: 257,
               column: 7,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "makeJobScript",
              span: Span {
               start: Position {
                line: 259,
                column: 3,
               },
               end: Position {
                line: 259,
                column: 16,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "text",
                },
               ),
               body: LetIn(
                LetIn {
                 bindings: [
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "scriptName",
                       span: Span {
                        start: Position {
                         line: 261,
                         column: 7,
                        },
                        end: Position {
                         line: 261,
                         column: 17,
                        },
                       },
                      },
                     ),
                    ],
                    to: FunctionApplication(
                     FunctionApplication {
                      function: Identifier(
                       Identifier {
                        id: "replaceChars",
                        span: Span {
                         start: Position {
                          line: 261,
                          column: 20,
                         },
                         end: Position {
                          line: 261,
                          column: 32,
                         },
                        },
                       },
                      ),
                      arguments: [
                       List(
                        List {
                         elements: [
                          String(
                           String_ {
                            parts: [
                             Raw(
                              PartRaw {
                               content: "\\",
                               span: Span {
                                start: Position {
                                 line: 261,
                                 column: 36,
                                },
                                end: Position {
                                 line: 261,
                                 column: 38,
                                },
                               },
                              },
                             ),
                            ],
                            span: Span {
                             start: Position {
                              line: 261,
                              column: 35,
                             },
                             end: Position {
                              line: 261,
                              column: 39,
                             },
                            },
                           },
                          ),
                          String(
                           String_ {
                            parts: [
                             Raw(
                              PartRaw {
                               content: "@",
                               span: Span {
                                start: Position {
                                 line: 261,
                                 column: 41,
                                },
                                end: Position {
                                 line: 261,
                                 column: 42,
                                },
                               },
                              },
                             ),
                            ],
                            span: Span {
                             start: Position {
                              line: 261,
                              column: 40,
                             },
                             end: Position {
                              line: 261,
                              column: 43,
                             },
                            },
                           },
                          ),
                         ],
                         span: Span {
                          start: Position {
                           line: 261,
                           column: 33,
                          },
                          end: Position {
                           line: 261,
                           column: 45,
                          },
                         },
                        },
                       ),
                       List(
                        List {
                         elements: [
                          String(
                           String_ {
                            parts: [
                             Raw(
                              PartRaw {
                               content: "-",
                               span: Span {
                                start: Position {
                                 line: 261,
                                 column: 49,
                                },
                                end: Position {
                                 line: 261,
                                 column: 50,
                                },
                               },
                              },
                             ),
                            ],
                            span: Span {
                             start: Position {
                              line: 261,
                              column: 48,
                             },
                             end: Position {
                              line: 261,
                              column: 51,
                             },
                            },
                           },
                          ),
                          String(
                           String_ {
                            parts: [
                             Raw(
                              PartRaw {
                               content: "_",
                               span: Span {
                                start: Position {
                                 line: 261,
                                 column: 53,
                                },
                                end: Position {
                                 line: 261,
                                 column: 54,
                                },
                               },
                              },
                             ),
                            ],
                            span: Span {
                             start: Position {
                              line: 261,
                              column: 52,
                             },
                             end: Position {
                              line: 261,
                              column: 55,
                             },
                            },
                           },
                          ),
                         ],
                         span: Span {
                          start: Position {
                           line: 261,
                           column: 46,
                          },
                          end: Position {
                           line: 261,
                           column: 57,
                          },
                         },
                        },
                       ),
                       FunctionApplication(
                        FunctionApplication {
                         function: Identifier(
                          Identifier {
                           id: "shellEscape",
                           span: Span {
                            start: Position {
                             line: 261,
                             column: 59,
                            },
                            end: Position {
                             line: 261,
                             column: 70,
                            },
                           },
                          },
                         ),
                         arguments: [
                          Identifier(
                           Identifier {
                            id: "name",
                            span: Span {
                             start: Position {
                              line: 261,
                              column: 71,
                             },
                             end: Position {
                              line: 261,
                              column: 75,
                             },
                            },
                           },
                          ),
                         ],
                        },
                       ),
                      ],
                     },
                    ),
                   },
                  ),
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "out",
                       span: Span {
                        start: Position {
                         line: 262,
                         column: 7,
                        },
                        end: Position {
                         line: 262,
                         column: 10,
                        },
                       },
                      },
                     ),
                    ],
                    to: FunctionApplication(
                     FunctionApplication {
                      function: PropertyAccess(
                       PropertyAccess {
                        expression: FunctionApplication(
                         FunctionApplication {
                          function: PropertyAccess(
                           PropertyAccess {
                            expression: Identifier(
                             Identifier {
                              id: "pkgs",
                              span: Span {
                               start: Position {
                                line: 262,
                                column: 14,
                               },
                               end: Position {
                                line: 262,
                                column: 18,
                               },
                              },
                             },
                            ),
                            attribute_path: [
                             Raw(
                              PartRaw {
                               content: "writeShellScriptBin",
                               span: Span {
                                start: Position {
                                 line: 262,
                                 column: 19,
                                },
                                end: Position {
                                 line: 262,
                                 column: 38,
                                },
                               },
                              },
                             ),
                            ],
                            default: None,
                           },
                          ),
                          arguments: [
                           Identifier(
                            Identifier {
                             id: "scriptName",
                             span: Span {
                              start: Position {
                               line: 262,
                               column: 39,
                              },
                              end: Position {
                               line: 262,
                               column: 49,
                              },
                             },
                            },
                           ),
                           IndentedString(
                            IndentedString {
                             parts: [
                              Raw(
                               PartRaw {
                                content: "set -e\n",
                                span: Span {
                                 start: Position {
                                  line: 263,
                                  column: 1,
                                 },
                                 end: Position {
                                  line: 264,
                                  column: 9,
                                 },
                                },
                               },
                              ),
                              Interpolation(
                               PartInterpolation {
                                expression: Identifier(
                                 Identifier {
                                  id: "text",
                                  span: Span {
                                   start: Position {
                                    line: 264,
                                    column: 11,
                                   },
                                   end: Position {
                                    line: 264,
                                    column: 15,
                                   },
                                  },
                                 },
                                ),
                               },
                              ),
                              Raw(
                               PartRaw {
                                content: "\n",
                                span: Span {
                                 start: Position {
                                  line: 263,
                                  column: 1,
                                 },
                                 end: Position {
                                  line: 265,
                                  column: 7,
                                 },
                                },
                               },
                              ),
                             ],
                             span: Span {
                              start: Position {
                               line: 262,
                               column: 50,
                              },
                              end: Position {
                               line: 265,
                               column: 9,
                              },
                             },
                            },
                           ),
                          ],
                         },
                        ),
                        attribute_path: [
                         Raw(
                          PartRaw {
                           content: "overrideAttrs",
                           span: Span {
                            start: Position {
                             line: 265,
                             column: 11,
                            },
                            end: Position {
                             line: 265,
                             column: 24,
                            },
                           },
                          },
                         ),
                        ],
                        default: None,
                       },
                      ),
                      arguments: [
                       Function(
                        Function {
                         head: Simple(
                          FunctionHeadSimple {
                           identifier: "_",
                          },
                         ),
                         body: Map(
                          Map {
                           recursive: false,
                           bindings: [
                            KeyValue(
                             BindingKeyValue {
                              from: [
                               Raw(
                                PartRaw {
                                 content: "name",
                                 span: Span {
                                  start: Position {
                                   line: 268,
                                   column: 9,
                                  },
                                  end: Position {
                                   line: 268,
                                   column: 13,
                                  },
                                 },
                                },
                               ),
                              ],
                              to: String(
                               String_ {
                                parts: [
                                 Raw(
                                  PartRaw {
                                   content: "unit-script-",
                                   span: Span {
                                    start: Position {
                                     line: 268,
                                     column: 17,
                                    },
                                    end: Position {
                                     line: 268,
                                     column: 42,
                                    },
                                   },
                                  },
                                 ),
                                 Interpolation(
                                  PartInterpolation {
                                   expression: Identifier(
                                    Identifier {
                                     id: "scriptName",
                                     span: Span {
                                      start: Position {
                                       line: 268,
                                       column: 31,
                                      },
                                      end: Position {
                                       line: 268,
                                       column: 41,
                                      },
                                     },
                                    },
                                   ),
                                  },
                                 ),
                                ],
                                span: Span {
                                 start: Position {
                                  line: 268,
                                  column: 16,
                                 },
                                 end: Position {
                                  line: 268,
                                  column: 43,
                                 },
                                },
                               },
                              ),
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 265,
                             column: 29,
                            },
                            end: Position {
                             line: 269,
                             column: 8,
                            },
                           },
                          },
                         ),
                         span: Span {
                          start: Position {
                           line: 265,
                           column: 26,
                          },
                          end: Position {
                           line: 269,
                           column: 8,
                          },
                         },
                        },
                       ),
                      ],
                     },
                    ),
                   },
                  ),
                 ],
                 target: String(
                  String_ {
                   parts: [
                    Interpolation(
                     PartInterpolation {
                      expression: Identifier(
                       Identifier {
                        id: "out",
                        span: Span {
                         start: Position {
                          line: 270,
                          column: 11,
                         },
                         end: Position {
                          line: 270,
                          column: 14,
                         },
                        },
                       },
                      ),
                     },
                    ),
                    Raw(
                     PartRaw {
                      content: "/bin/",
                      span: Span {
                       start: Position {
                        line: 270,
                        column: 9,
                       },
                       end: Position {
                        line: 270,
                        column: 20,
                       },
                      },
                     },
                    ),
                    Interpolation(
                     PartInterpolation {
                      expression: Identifier(
                       Identifier {
                        id: "scriptName",
                        span: Span {
                         start: Position {
                          line: 270,
                          column: 22,
                         },
                         end: Position {
                          line: 270,
                          column: 32,
                         },
                        },
                       },
                      ),
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 270,
                     column: 8,
                    },
                    end: Position {
                     line: 270,
                     column: 34,
                    },
                   },
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 260,
                   column: 5,
                  },
                  end: Position {
                   line: 270,
                   column: 34,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 259,
                 column: 25,
                },
                end: Position {
                 line: 270,
                 column: 34,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 259,
               column: 19,
              },
              end: Position {
               line: 270,
               column: 34,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "unitConfig",
              span: Span {
               start: Position {
                line: 272,
                column: 3,
               },
               end: Position {
                line: 272,
                column: 13,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Destructured(
              FunctionHeadDestructured {
               ellipsis: true,
               identifier: None,
               arguments: [
                FunctionHeadDestructuredArgument {
                 identifier: "config",
                 default: None,
                },
                FunctionHeadDestructuredArgument {
                 identifier: "options",
                 default: None,
                },
               ],
              },
             ),
             body: Map(
              Map {
               recursive: false,
               bindings: [
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "config",
                     span: Span {
                      start: Position {
                       line: 273,
                       column: 5,
                      },
                      end: Position {
                       line: 273,
                       column: 11,
                      },
                     },
                    },
                   ),
                  ],
                  to: Map(
                   Map {
                    recursive: false,
                    bindings: [
                     KeyValue(
                      BindingKeyValue {
                       from: [
                        Raw(
                         PartRaw {
                          content: "unitConfig",
                          span: Span {
                           start: Position {
                            line: 274,
                            column: 7,
                           },
                           end: Position {
                            line: 274,
                            column: 17,
                           },
                          },
                         },
                        ),
                       ],
                       to: BinaryOperation(
                        BinaryOperation {
                         left: FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "optionalAttrs",
                             span: Span {
                              start: Position {
                               line: 275,
                               column: 9,
                              },
                              end: Position {
                               line: 275,
                               column: 22,
                              },
                             },
                            },
                           ),
                           arguments: [
                            BinaryOperation(
                             BinaryOperation {
                              left: PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "config",
                                  span: Span {
                                   start: Position {
                                    line: 275,
                                    column: 24,
                                   },
                                   end: Position {
                                    line: 275,
                                    column: 30,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "requires",
                                   span: Span {
                                    start: Position {
                                     line: 275,
                                     column: 31,
                                    },
                                    end: Position {
                                     line: 275,
                                     column: 39,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                              operator: NotEqualTo,
                              right: List(
                               List {
                                elements: [],
                                span: Span {
                                 start: Position {
                                  line: 275,
                                  column: 43,
                                 },
                                 end: Position {
                                  line: 275,
                                  column: 45,
                                 },
                                },
                               },
                              ),
                             },
                            ),
                            Map(
                             Map {
                              recursive: false,
                              bindings: [
                               KeyValue(
                                BindingKeyValue {
                                 from: [
                                  Raw(
                                   PartRaw {
                                    content: "Requires",
                                    span: Span {
                                     start: Position {
                                      line: 276,
                                      column: 13,
                                     },
                                     end: Position {
                                      line: 276,
                                      column: 21,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 to: FunctionApplication(
                                  FunctionApplication {
                                   function: Identifier(
                                    Identifier {
                                     id: "toString",
                                     span: Span {
                                      start: Position {
                                       line: 276,
                                       column: 24,
                                      },
                                      end: Position {
                                       line: 276,
                                       column: 32,
                                      },
                                     },
                                    },
                                   ),
                                   arguments: [
                                    PropertyAccess(
                                     PropertyAccess {
                                      expression: Identifier(
                                       Identifier {
                                        id: "config",
                                        span: Span {
                                         start: Position {
                                          line: 276,
                                          column: 33,
                                         },
                                         end: Position {
                                          line: 276,
                                          column: 39,
                                         },
                                        },
                                       },
                                      ),
                                      attribute_path: [
                                       Raw(
                                        PartRaw {
                                         content: "requires",
                                         span: Span {
                                          start: Position {
                                           line: 276,
                                           column: 40,
                                          },
                                          end: Position {
                                           line: 276,
                                           column: 48,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      default: None,
                                     },
                                    ),
                                   ],
                                  },
                                 ),
                                },
                               ),
                              ],
                              span: Span {
                               start: Position {
                                line: 276,
                                column: 11,
                               },
                               end: Position {
                                line: 276,
                                column: 51,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                         operator: Update,
                         right: BinaryOperation(
                          BinaryOperation {
                           left: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "optionalAttrs",
                               span: Span {
                                start: Position {
                                 line: 277,
                                 column: 12,
                                },
                                end: Position {
                                 line: 277,
                                 column: 25,
                                },
                               },
                              },
                             ),
                             arguments: [
                              BinaryOperation(
                               BinaryOperation {
                                left: PropertyAccess(
                                 PropertyAccess {
                                  expression: Identifier(
                                   Identifier {
                                    id: "config",
                                    span: Span {
                                     start: Position {
                                      line: 277,
                                      column: 27,
                                     },
                                     end: Position {
                                      line: 277,
                                      column: 33,
                                     },
                                    },
                                   },
                                  ),
                                  attribute_path: [
                                   Raw(
                                    PartRaw {
                                     content: "wants",
                                     span: Span {
                                      start: Position {
                                       line: 277,
                                       column: 34,
                                      },
                                      end: Position {
                                       line: 277,
                                       column: 39,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                  default: None,
                                 },
                                ),
                                operator: NotEqualTo,
                                right: List(
                                 List {
                                  elements: [],
                                  span: Span {
                                   start: Position {
                                    line: 277,
                                    column: 43,
                                   },
                                   end: Position {
                                    line: 277,
                                    column: 45,
                                   },
                                  },
                                 },
                                ),
                               },
                              ),
                              Map(
                               Map {
                                recursive: false,
                                bindings: [
                                 KeyValue(
                                  BindingKeyValue {
                                   from: [
                                    Raw(
                                     PartRaw {
                                      content: "Wants",
                                      span: Span {
                                       start: Position {
                                        line: 278,
                                        column: 13,
                                       },
                                       end: Position {
                                        line: 278,
                                        column: 18,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                   to: FunctionApplication(
                                    FunctionApplication {
                                     function: Identifier(
                                      Identifier {
                                       id: "toString",
                                       span: Span {
                                        start: Position {
                                         line: 278,
                                         column: 21,
                                        },
                                        end: Position {
                                         line: 278,
                                         column: 29,
                                        },
                                       },
                                      },
                                     ),
                                     arguments: [
                                      PropertyAccess(
                                       PropertyAccess {
                                        expression: Identifier(
                                         Identifier {
                                          id: "config",
                                          span: Span {
                                           start: Position {
                                            line: 278,
                                            column: 30,
                                           },
                                           end: Position {
                                            line: 278,
                                            column: 36,
                                           },
                                          },
                                         },
                                        ),
                                        attribute_path: [
                                         Raw(
                                          PartRaw {
                                           content: "wants",
                                           span: Span {
                                            start: Position {
                                             line: 278,
                                             column: 37,
                                            },
                                            end: Position {
                                             line: 278,
                                             column: 42,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                        default: None,
                                       },
                                      ),
                                     ],
                                    },
                                   ),
                                  },
                                 ),
                                ],
                                span: Span {
                                 start: Position {
                                  line: 278,
                                  column: 11,
                                 },
                                 end: Position {
                                  line: 278,
                                  column: 45,
                                 },
                                },
                               },
                              ),
                             ],
                            },
                           ),
                           operator: Update,
                           right: BinaryOperation(
                            BinaryOperation {
                             left: FunctionApplication(
                              FunctionApplication {
                               function: Identifier(
                                Identifier {
                                 id: "optionalAttrs",
                                 span: Span {
                                  start: Position {
                                   line: 279,
                                   column: 12,
                                  },
                                  end: Position {
                                   line: 279,
                                   column: 25,
                                  },
                                 },
                                },
                               ),
                               arguments: [
                                BinaryOperation(
                                 BinaryOperation {
                                  left: PropertyAccess(
                                   PropertyAccess {
                                    expression: Identifier(
                                     Identifier {
                                      id: "config",
                                      span: Span {
                                       start: Position {
                                        line: 279,
                                        column: 27,
                                       },
                                       end: Position {
                                        line: 279,
                                        column: 33,
                                       },
                                      },
                                     },
                                    ),
                                    attribute_path: [
                                     Raw(
                                      PartRaw {
                                       content: "after",
                                       span: Span {
                                        start: Position {
                                         line: 279,
                                         column: 34,
                                        },
                                        end: Position {
                                         line: 279,
                                         column: 39,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    default: None,
                                   },
                                  ),
                                  operator: NotEqualTo,
                                  right: List(
                                   List {
                                    elements: [],
                                    span: Span {
                                     start: Position {
                                      line: 279,
                                      column: 43,
                                     },
                                     end: Position {
                                      line: 279,
                                      column: 45,
                                     },
                                    },
                                   },
                                  ),
                                 },
                                ),
                                Map(
                                 Map {
                                  recursive: false,
                                  bindings: [
                                   KeyValue(
                                    BindingKeyValue {
                                     from: [
                                      Raw(
                                       PartRaw {
                                        content: "After",
                                        span: Span {
                                         start: Position {
                                          line: 280,
                                          column: 13,
                                         },
                                         end: Position {
                                          line: 280,
                                          column: 18,
                                         },
                                        },
                                       },
                                      ),
                                     ],
                                     to: FunctionApplication(
                                      FunctionApplication {
                                       function: Identifier(
                                        Identifier {
                                         id: "toString",
                                         span: Span {
                                          start: Position {
                                           line: 280,
                                           column: 21,
                                          },
                                          end: Position {
                                           line: 280,
                                           column: 29,
                                          },
                                         },
                                        },
                                       ),
                                       arguments: [
                                        PropertyAccess(
                                         PropertyAccess {
                                          expression: Identifier(
                                           Identifier {
                                            id: "config",
                                            span: Span {
                                             start: Position {
                                              line: 280,
                                              column: 30,
                                             },
                                             end: Position {
                                              line: 280,
                                              column: 36,
                                             },
                                            },
                                           },
                                          ),
                                          attribute_path: [
                                           Raw(
                                            PartRaw {
                                             content: "after",
                                             span: Span {
                                              start: Position {
                                               line: 280,
                                               column: 37,
                                              },
                                              end: Position {
                                               line: 280,
                                               column: 42,
                                              },
                                             },
                                            },
                                           ),
                                          ],
                                          default: None,
                                         },
                                        ),
                                       ],
                                      },
                                     ),
                                    },
                                   ),
                                  ],
                                  span: Span {
                                   start: Position {
                                    line: 280,
                                    column: 11,
                                   },
                                   end: Position {
                                    line: 280,
                                    column: 45,
                                   },
                                  },
                                 },
                                ),
                               ],
                              },
                             ),
                             operator: Update,
                             right: BinaryOperation(
                              BinaryOperation {
                               left: FunctionApplication(
                                FunctionApplication {
                                 function: Identifier(
                                  Identifier {
                                   id: "optionalAttrs",
                                   span: Span {
                                    start: Position {
                                     line: 281,
                                     column: 12,
                                    },
                                    end: Position {
                                     line: 281,
                                     column: 25,
                                    },
                                   },
                                  },
                                 ),
                                 arguments: [
                                  BinaryOperation(
                                   BinaryOperation {
                                    left: PropertyAccess(
                                     PropertyAccess {
                                      expression: Identifier(
                                       Identifier {
                                        id: "config",
                                        span: Span {
                                         start: Position {
                                          line: 281,
                                          column: 27,
                                         },
                                         end: Position {
                                          line: 281,
                                          column: 33,
                                         },
                                        },
                                       },
                                      ),
                                      attribute_path: [
                                       Raw(
                                        PartRaw {
                                         content: "before",
                                         span: Span {
                                          start: Position {
                                           line: 281,
                                           column: 34,
                                          },
                                          end: Position {
                                           line: 281,
                                           column: 40,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      default: None,
                                     },
                                    ),
                                    operator: NotEqualTo,
                                    right: List(
                                     List {
                                      elements: [],
                                      span: Span {
                                       start: Position {
                                        line: 281,
                                        column: 44,
                                       },
                                       end: Position {
                                        line: 281,
                                        column: 46,
                                       },
                                      },
                                     },
                                    ),
                                   },
                                  ),
                                  Map(
                                   Map {
                                    recursive: false,
                                    bindings: [
                                     KeyValue(
                                      BindingKeyValue {
                                       from: [
                                        Raw(
                                         PartRaw {
                                          content: "Before",
                                          span: Span {
                                           start: Position {
                                            line: 282,
                                            column: 13,
                                           },
                                           end: Position {
                                            line: 282,
                                            column: 19,
                                           },
                                          },
                                         },
                                        ),
                                       ],
                                       to: FunctionApplication(
                                        FunctionApplication {
                                         function: Identifier(
                                          Identifier {
                                           id: "toString",
                                           span: Span {
                                            start: Position {
                                             line: 282,
                                             column: 22,
                                            },
                                            end: Position {
                                             line: 282,
                                             column: 30,
                                            },
                                           },
                                          },
                                         ),
                                         arguments: [
                                          PropertyAccess(
                                           PropertyAccess {
                                            expression: Identifier(
                                             Identifier {
                                              id: "config",
                                              span: Span {
                                               start: Position {
                                                line: 282,
                                                column: 31,
                                               },
                                               end: Position {
                                                line: 282,
                                                column: 37,
                                               },
                                              },
                                             },
                                            ),
                                            attribute_path: [
                                             Raw(
                                              PartRaw {
                                               content: "before",
                                               span: Span {
                                                start: Position {
                                                 line: 282,
                                                 column: 38,
                                                },
                                                end: Position {
                                                 line: 282,
                                                 column: 44,
                                                },
                                               },
                                              },
                                             ),
                                            ],
                                            default: None,
                                           },
                                          ),
                                         ],
                                        },
                                       ),
                                      },
                                     ),
                                    ],
                                    span: Span {
                                     start: Position {
                                      line: 282,
                                      column: 11,
                                     },
                                     end: Position {
                                      line: 282,
                                      column: 47,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                },
                               ),
                               operator: Update,
                               right: BinaryOperation(
                                BinaryOperation {
                                 left: FunctionApplication(
                                  FunctionApplication {
                                   function: Identifier(
                                    Identifier {
                                     id: "optionalAttrs",
                                     span: Span {
                                      start: Position {
                                       line: 283,
                                       column: 12,
                                      },
                                      end: Position {
                                       line: 283,
                                       column: 25,
                                      },
                                     },
                                    },
                                   ),
                                   arguments: [
                                    BinaryOperation(
                                     BinaryOperation {
                                      left: PropertyAccess(
                                       PropertyAccess {
                                        expression: Identifier(
                                         Identifier {
                                          id: "config",
                                          span: Span {
                                           start: Position {
                                            line: 283,
                                            column: 27,
                                           },
                                           end: Position {
                                            line: 283,
                                            column: 33,
                                           },
                                          },
                                         },
                                        ),
                                        attribute_path: [
                                         Raw(
                                          PartRaw {
                                           content: "bindsTo",
                                           span: Span {
                                            start: Position {
                                             line: 283,
                                             column: 34,
                                            },
                                            end: Position {
                                             line: 283,
                                             column: 41,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                        default: None,
                                       },
                                      ),
                                      operator: NotEqualTo,
                                      right: List(
                                       List {
                                        elements: [],
                                        span: Span {
                                         start: Position {
                                          line: 283,
                                          column: 45,
                                         },
                                         end: Position {
                                          line: 283,
                                          column: 47,
                                         },
                                        },
                                       },
                                      ),
                                     },
                                    ),
                                    Map(
                                     Map {
                                      recursive: false,
                                      bindings: [
                                       KeyValue(
                                        BindingKeyValue {
                                         from: [
                                          Raw(
                                           PartRaw {
                                            content: "BindsTo",
                                            span: Span {
                                             start: Position {
                                              line: 284,
                                              column: 13,
                                             },
                                             end: Position {
                                              line: 284,
                                              column: 20,
                                             },
                                            },
                                           },
                                          ),
                                         ],
                                         to: FunctionApplication(
                                          FunctionApplication {
                                           function: Identifier(
                                            Identifier {
                                             id: "toString",
                                             span: Span {
                                              start: Position {
                                               line: 284,
                                               column: 23,
                                              },
                                              end: Position {
                                               line: 284,
                                               column: 31,
                                              },
                                             },
                                            },
                                           ),
                                           arguments: [
                                            PropertyAccess(
                                             PropertyAccess {
                                              expression: Identifier(
                                               Identifier {
                                                id: "config",
                                                span: Span {
                                                 start: Position {
                                                  line: 284,
                                                  column: 32,
                                                 },
                                                 end: Position {
                                                  line: 284,
                                                  column: 38,
                                                 },
                                                },
                                               },
                                              ),
                                              attribute_path: [
                                               Raw(
                                                PartRaw {
                                                 content: "bindsTo",
                                                 span: Span {
                                                  start: Position {
                                                   line: 284,
                                                   column: 39,
                                                  },
                                                  end: Position {
                                                   line: 284,
                                                   column: 46,
                                                  },
                                                 },
                                                },
                                               ),
                                              ],
                                              default: None,
                                             },
                                            ),
                                           ],
                                          },
                                         ),
                                        },
                                       ),
                                      ],
                                      span: Span {
                                       start: Position {
                                        line: 284,
                                        column: 11,
                                       },
                                       end: Position {
                                        line: 284,
                                        column: 49,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                  },
                                 ),
                                 operator: Update,
                                 right: BinaryOperation(
                                  BinaryOperation {
                                   left: FunctionApplication(
                                    FunctionApplication {
                                     function: Identifier(
                                      Identifier {
                                       id: "optionalAttrs",
                                       span: Span {
                                        start: Position {
                                         line: 285,
                                         column: 12,
                                        },
                                        end: Position {
                                         line: 285,
                                         column: 25,
                                        },
                                       },
                                      },
                                     ),
                                     arguments: [
                                      BinaryOperation(
                                       BinaryOperation {
                                        left: PropertyAccess(
                                         PropertyAccess {
                                          expression: Identifier(
                                           Identifier {
                                            id: "config",
                                            span: Span {
                                             start: Position {
                                              line: 285,
                                              column: 27,
                                             },
                                             end: Position {
                                              line: 285,
                                              column: 33,
                                             },
                                            },
                                           },
                                          ),
                                          attribute_path: [
                                           Raw(
                                            PartRaw {
                                             content: "partOf",
                                             span: Span {
                                              start: Position {
                                               line: 285,
                                               column: 34,
                                              },
                                              end: Position {
                                               line: 285,
                                               column: 40,
                                              },
                                             },
                                            },
                                           ),
                                          ],
                                          default: None,
                                         },
                                        ),
                                        operator: NotEqualTo,
                                        right: List(
                                         List {
                                          elements: [],
                                          span: Span {
                                           start: Position {
                                            line: 285,
                                            column: 44,
                                           },
                                           end: Position {
                                            line: 285,
                                            column: 46,
                                           },
                                          },
                                         },
                                        ),
                                       },
                                      ),
                                      Map(
                                       Map {
                                        recursive: false,
                                        bindings: [
                                         KeyValue(
                                          BindingKeyValue {
                                           from: [
                                            Raw(
                                             PartRaw {
                                              content: "PartOf",
                                              span: Span {
                                               start: Position {
                                                line: 286,
                                                column: 13,
                                               },
                                               end: Position {
                                                line: 286,
                                                column: 19,
                                               },
                                              },
                                             },
                                            ),
                                           ],
                                           to: FunctionApplication(
                                            FunctionApplication {
                                             function: Identifier(
                                              Identifier {
                                               id: "toString",
                                               span: Span {
                                                start: Position {
                                                 line: 286,
                                                 column: 22,
                                                },
                                                end: Position {
                                                 line: 286,
                                                 column: 30,
                                                },
                                               },
                                              },
                                             ),
                                             arguments: [
                                              PropertyAccess(
                                               PropertyAccess {
                                                expression: Identifier(
                                                 Identifier {
                                                  id: "config",
                                                  span: Span {
                                                   start: Position {
                                                    line: 286,
                                                    column: 31,
                                                   },
                                                   end: Position {
                                                    line: 286,
                                                    column: 37,
                                                   },
                                                  },
                                                 },
                                                ),
                                                attribute_path: [
                                                 Raw(
                                                  PartRaw {
                                                   content: "partOf",
                                                   span: Span {
                                                    start: Position {
                                                     line: 286,
                                                     column: 38,
                                                    },
                                                    end: Position {
                                                     line: 286,
                                                     column: 44,
                                                    },
                                                   },
                                                  },
                                                 ),
                                                ],
                                                default: None,
                                               },
                                              ),
                                             ],
                                            },
                                           ),
                                          },
                                         ),
                                        ],
                                        span: Span {
                                         start: Position {
                                          line: 286,
                                          column: 11,
                                         },
                                         end: Position {
                                          line: 286,
                                          column: 47,
                                         },
                                        },
                                       },
                                      ),
                                     ],
                                    },
                                   ),
                                   operator: Update,
                                   right: BinaryOperation(
                                    BinaryOperation {
                                     left: FunctionApplication(
                                      FunctionApplication {
                                       function: Identifier(
                                        Identifier {
                                         id: "optionalAttrs",
                                         span: Span {
                                          start: Position {
                                           line: 287,
                                           column: 12,
                                          },
                                          end: Position {
                                           line: 287,
                                           column: 25,
                                          },
                                         },
                                        },
                                       ),
                                       arguments: [
                                        BinaryOperation(
                                         BinaryOperation {
                                          left: PropertyAccess(
                                           PropertyAccess {
                                            expression: Identifier(
                                             Identifier {
                                              id: "config",
                                              span: Span {
                                               start: Position {
                                                line: 287,
                                                column: 27,
                                               },
                                               end: Position {
                                                line: 287,
                                                column: 33,
                                               },
                                              },
                                             },
                                            ),
                                            attribute_path: [
                                             Raw(
                                              PartRaw {
                                               content: "conflicts",
                                               span: Span {
                                                start: Position {
                                                 line: 287,
                                                 column: 34,
                                                },
                                                end: Position {
                                                 line: 287,
                                                 column: 43,
                                                },
                                               },
                                              },
                                             ),
                                            ],
                                            default: None,
                                           },
                                          ),
                                          operator: NotEqualTo,
                                          right: List(
                                           List {
                                            elements: [],
                                            span: Span {
                                             start: Position {
                                              line: 287,
                                              column: 47,
                                             },
                                             end: Position {
                                              line: 287,
                                              column: 49,
                                             },
                                            },
                                           },
                                          ),
                                         },
                                        ),
                                        Map(
                                         Map {
                                          recursive: false,
                                          bindings: [
                                           KeyValue(
                                            BindingKeyValue {
                                             from: [
                                              Raw(
                                               PartRaw {
                                                content: "Conflicts",
                                                span: Span {
                                                 start: Position {
                                                  line: 288,
                                                  column: 13,
                                                 },
                                                 end: Position {
                                                  line: 288,
                                                  column: 22,
                                                 },
                                                },
                                               },
                                              ),
                                             ],
                                             to: FunctionApplication(
                                              FunctionApplication {
                                               function: Identifier(
                                                Identifier {
                                                 id: "toString",
                                                 span: Span {
                                                  start: Position {
                                                   line: 288,
                                                   column: 25,
                                                  },
                                                  end: Position {
                                                   line: 288,
                                                   column: 33,
                                                  },
                                                 },
                                                },
                                               ),
                                               arguments: [
                                                PropertyAccess(
                                                 PropertyAccess {
                                                  expression: Identifier(
                                                   Identifier {
                                                    id: "config",
                                                    span: Span {
                                                     start: Position {
                                                      line: 288,
                                                      column: 34,
                                                     },
                                                     end: Position {
                                                      line: 288,
                                                      column: 40,
                                                     },
                                                    },
                                                   },
                                                  ),
                                                  attribute_path: [
                                                   Raw(
                                                    PartRaw {
                                                     content: "conflicts",
                                                     span: Span {
                                                      start: Position {
                                                       line: 288,
                                                       column: 41,
                                                      },
                                                      end: Position {
                                                       line: 288,
                                                       column: 50,
                                                      },
                                                     },
                                                    },
                                                   ),
                                                  ],
                                                  default: None,
                                                 },
                                                ),
                                               ],
                                              },
                                             ),
                                            },
                                           ),
                                          ],
                                          span: Span {
                                           start: Position {
                                            line: 288,
                                            column: 11,
                                           },
                                           end: Position {
                                            line: 288,
                                            column: 53,
                                           },
                                          },
                                         },
                                        ),
                                       ],
                                      },
                                     ),
                                     operator: Update,
                                     right: BinaryOperation(
                                      BinaryOperation {
                                       left: FunctionApplication(
                                        FunctionApplication {
                                         function: Identifier(
                                          Identifier {
                                           id: "optionalAttrs",
                                           span: Span {
                                            start: Position {
                                             line: 289,
                                             column: 12,
                                            },
                                            end: Position {
                                             line: 289,
                                             column: 25,
                                            },
                                           },
                                          },
                                         ),
                                         arguments: [
                                          BinaryOperation(
                                           BinaryOperation {
                                            left: PropertyAccess(
                                             PropertyAccess {
                                              expression: Identifier(
                                               Identifier {
                                                id: "config",
                                                span: Span {
                                                 start: Position {
                                                  line: 289,
                                                  column: 27,
                                                 },
                                                 end: Position {
                                                  line: 289,
                                                  column: 33,
                                                 },
                                                },
                                               },
                                              ),
                                              attribute_path: [
                                               Raw(
                                                PartRaw {
                                                 content: "requisite",
                                                 span: Span {
                                                  start: Position {
                                                   line: 289,
                                                   column: 34,
                                                  },
                                                  end: Position {
                                                   line: 289,
                                                   column: 43,
                                                  },
                                                 },
                                                },
                                               ),
                                              ],
                                              default: None,
                                             },
                                            ),
                                            operator: NotEqualTo,
                                            right: List(
                                             List {
                                              elements: [],
                                              span: Span {
                                               start: Position {
                                                line: 289,
                                                column: 47,
                                               },
                                               end: Position {
                                                line: 289,
                                                column: 49,
                                               },
                                              },
                                             },
                                            ),
                                           },
                                          ),
                                          Map(
                                           Map {
                                            recursive: false,
                                            bindings: [
                                             KeyValue(
                                              BindingKeyValue {
                                               from: [
                                                Raw(
                                                 PartRaw {
                                                  content: "Requisite",
                                                  span: Span {
                                                   start: Position {
                                                    line: 290,
                                                    column: 13,
                                                   },
                                                   end: Position {
                                                    line: 290,
                                                    column: 22,
                                                   },
                                                  },
                                                 },
                                                ),
                                               ],
                                               to: FunctionApplication(
                                                FunctionApplication {
                                                 function: Identifier(
                                                  Identifier {
                                                   id: "toString",
                                                   span: Span {
                                                    start: Position {
                                                     line: 290,
                                                     column: 25,
                                                    },
                                                    end: Position {
                                                     line: 290,
                                                     column: 33,
                                                    },
                                                   },
                                                  },
                                                 ),
                                                 arguments: [
                                                  PropertyAccess(
                                                   PropertyAccess {
                                                    expression: Identifier(
                                                     Identifier {
                                                      id: "config",
                                                      span: Span {
                                                       start: Position {
                                                        line: 290,
                                                        column: 34,
                                                       },
                                                       end: Position {
                                                        line: 290,
                                                        column: 40,
                                                       },
                                                      },
                                                     },
                                                    ),
                                                    attribute_path: [
                                                     Raw(
                                                      PartRaw {
                                                       content: "requisite",
                                                       span: Span {
                                                        start: Position {
                                                         line: 290,
                                                         column: 41,
                                                        },
                                                        end: Position {
                                                         line: 290,
                                                         column: 50,
                                                        },
                                                       },
                                                      },
                                                     ),
                                                    ],
                                                    default: None,
                                                   },
                                                  ),
                                                 ],
                                                },
                                               ),
                                              },
                                             ),
                                            ],
                                            span: Span {
                                             start: Position {
                                              line: 290,
                                              column: 11,
                                             },
                                             end: Position {
                                              line: 290,
                                              column: 53,
                                             },
                                            },
                                           },
                                          ),
                                         ],
                                        },
                                       ),
                                       operator: Update,
                                       right: BinaryOperation(
                                        BinaryOperation {
                                         left: FunctionApplication(
                                          FunctionApplication {
                                           function: Identifier(
                                            Identifier {
                                             id: "optionalAttrs",
                                             span: Span {
                                              start: Position {
                                               line: 291,
                                               column: 12,
                                              },
                                              end: Position {
                                               line: 291,
                                               column: 25,
                                              },
                                             },
                                            },
                                           ),
                                           arguments: [
                                            BinaryOperation(
                                             BinaryOperation {
                                              left: HasAttribute(
                                               HasAttribute {
                                                expression: Identifier(
                                                 Identifier {
                                                  id: "config",
                                                  span: Span {
                                                   start: Position {
                                                    line: 291,
                                                    column: 27,
                                                   },
                                                   end: Position {
                                                    line: 291,
                                                    column: 33,
                                                   },
                                                  },
                                                 },
                                                ),
                                                attribute_path: [
                                                 Raw(
                                                  PartRaw {
                                                   content: "restartTriggers",
                                                   span: Span {
                                                    start: Position {
                                                     line: 291,
                                                     column: 36,
                                                    },
                                                    end: Position {
                                                     line: 291,
                                                     column: 51,
                                                    },
                                                   },
                                                  },
                                                 ),
                                                ],
                                               },
                                              ),
                                              operator: LogicalAnd,
                                              right: BinaryOperation(
                                               BinaryOperation {
                                                left: PropertyAccess(
                                                 PropertyAccess {
                                                  expression: Identifier(
                                                   Identifier {
                                                    id: "config",
                                                    span: Span {
                                                     start: Position {
                                                      line: 291,
                                                      column: 55,
                                                     },
                                                     end: Position {
                                                      line: 291,
                                                      column: 61,
                                                     },
                                                    },
                                                   },
                                                  ),
                                                  attribute_path: [
                                                   Raw(
                                                    PartRaw {
                                                     content: "restartTriggers",
                                                     span: Span {
                                                      start: Position {
                                                       line: 291,
                                                       column: 62,
                                                      },
                                                      end: Position {
                                                       line: 291,
                                                       column: 77,
                                                      },
                                                     },
                                                    },
                                                   ),
                                                  ],
                                                  default: None,
                                                 },
                                                ),
                                                operator: NotEqualTo,
                                                right: List(
                                                 List {
                                                  elements: [],
                                                  span: Span {
                                                   start: Position {
                                                    line: 291,
                                                    column: 81,
                                                   },
                                                   end: Position {
                                                    line: 291,
                                                    column: 83,
                                                   },
                                                  },
                                                 },
                                                ),
                                               },
                                              ),
                                             },
                                            ),
                                            Map(
                                             Map {
                                              recursive: false,
                                              bindings: [
                                               KeyValue(
                                                BindingKeyValue {
                                                 from: [
                                                  Raw(
                                                   PartRaw {
                                                    content: "X-Restart-Triggers",
                                                    span: Span {
                                                     start: Position {
                                                      line: 292,
                                                      column: 13,
                                                     },
                                                     end: Position {
                                                      line: 292,
                                                      column: 31,
                                                     },
                                                    },
                                                   },
                                                  ),
                                                 ],
                                                 to: FunctionApplication(
                                                  FunctionApplication {
                                                   function: Identifier(
                                                    Identifier {
                                                     id: "toString",
                                                     span: Span {
                                                      start: Position {
                                                       line: 292,
                                                       column: 34,
                                                      },
                                                      end: Position {
                                                       line: 292,
                                                       column: 42,
                                                      },
                                                     },
                                                    },
                                                   ),
                                                   arguments: [
                                                    PropertyAccess(
                                                     PropertyAccess {
                                                      expression: Identifier(
                                                       Identifier {
                                                        id: "config",
                                                        span: Span {
                                                         start: Position {
                                                          line: 292,
                                                          column: 43,
                                                         },
                                                         end: Position {
                                                          line: 292,
                                                          column: 49,
                                                         },
                                                        },
                                                       },
                                                      ),
                                                      attribute_path: [
                                                       Raw(
                                                        PartRaw {
                                                         content: "restartTriggers",
                                                         span: Span {
                                                          start: Position {
                                                           line: 292,
                                                           column: 50,
                                                          },
                                                          end: Position {
                                                           line: 292,
                                                           column: 65,
                                                          },
                                                         },
                                                        },
                                                       ),
                                                      ],
                                                      default: None,
                                                     },
                                                    ),
                                                   ],
                                                  },
                                                 ),
                                                },
                                               ),
                                              ],
                                              span: Span {
                                               start: Position {
                                                line: 292,
                                                column: 11,
                                               },
                                               end: Position {
                                                line: 292,
                                                column: 68,
                                               },
                                              },
                                             },
                                            ),
                                           ],
                                          },
                                         ),
                                         operator: Update,
                                         right: BinaryOperation(
                                          BinaryOperation {
                                           left: FunctionApplication(
                                            FunctionApplication {
                                             function: Identifier(
                                              Identifier {
                                               id: "optionalAttrs",
                                               span: Span {
                                                start: Position {
                                                 line: 293,
                                                 column: 12,
                                                },
                                                end: Position {
                                                 line: 293,
                                                 column: 25,
                                                },
                                               },
                                              },
                                             ),
                                             arguments: [
                                              BinaryOperation(
                                               BinaryOperation {
                                                left: HasAttribute(
                                                 HasAttribute {
                                                  expression: Identifier(
                                                   Identifier {
                                                    id: "config",
                                                    span: Span {
                                                     start: Position {
                                                      line: 293,
                                                      column: 27,
                                                     },
                                                     end: Position {
                                                      line: 293,
                                                      column: 33,
                                                     },
                                                    },
                                                   },
                                                  ),
                                                  attribute_path: [
                                                   Raw(
                                                    PartRaw {
                                                     content: "reloadTriggers",
                                                     span: Span {
                                                      start: Position {
                                                       line: 293,
                                                       column: 36,
                                                      },
                                                      end: Position {
                                                       line: 293,
                                                       column: 50,
                                                      },
                                                     },
                                                    },
                                                   ),
                                                  ],
                                                 },
                                                ),
                                                operator: LogicalAnd,
                                                right: BinaryOperation(
                                                 BinaryOperation {
                                                  left: PropertyAccess(
                                                   PropertyAccess {
                                                    expression: Identifier(
                                                     Identifier {
                                                      id: "config",
                                                      span: Span {
                                                       start: Position {
                                                        line: 293,
                                                        column: 54,
                                                       },
                                                       end: Position {
                                                        line: 293,
                                                        column: 60,
                                                       },
                                                      },
                                                     },
                                                    ),
                                                    attribute_path: [
                                                     Raw(
                                                      PartRaw {
                                                       content: "reloadTriggers",
                                                       span: Span {
                                                        start: Position {
                                                         line: 293,
                                                         column: 61,
                                                        },
                                                        end: Position {
                                                         line: 293,
                                                         column: 75,
                                                        },
                                                       },
                                                      },
                                                     ),
                                                    ],
                                                    default: None,
                                                   },
                                                  ),
                                                  operator: NotEqualTo,
                                                  right: List(
                                                   List {
                                                    elements: [],
                                                    span: Span {
                                                     start: Position {
                                                      line: 293,
                                                      column: 79,
                                                     },
                                                     end: Position {
                                                      line: 293,
                                                      column: 81,
                                                     },
                                                    },
                                                   },
                                                  ),
                                                 },
                                                ),
                                               },
                                              ),
                                              Map(
                                               Map {
                                                recursive: false,
                                                bindings: [
                                                 KeyValue(
                                                  BindingKeyValue {
                                                   from: [
                                                    Raw(
                                                     PartRaw {
                                                      content: "X-Reload-Triggers",
                                                      span: Span {
                                                       start: Position {
                                                        line: 294,
                                                        column: 13,
                                                       },
                                                       end: Position {
                                                        line: 294,
                                                        column: 30,
                                                       },
                                                      },
                                                     },
                                                    ),
                                                   ],
                                                   to: FunctionApplication(
                                                    FunctionApplication {
                                                     function: Identifier(
                                                      Identifier {
                                                       id: "toString",
                                                       span: Span {
                                                        start: Position {
                                                         line: 294,
                                                         column: 33,
                                                        },
                                                        end: Position {
                                                         line: 294,
                                                         column: 41,
                                                        },
                                                       },
                                                      },
                                                     ),
                                                     arguments: [
                                                      PropertyAccess(
                                                       PropertyAccess {
                                                        expression: Identifier(
                                                         Identifier {
                                                          id: "config",
                                                          span: Span {
                                                           start: Position {
                                                            line: 294,
                                                            column: 42,
                                                           },
                                                           end: Position {
                                                            line: 294,
                                                            column: 48,
                                                           },
                                                          },
                                                         },
                                                        ),
                                                        attribute_path: [
                                                         Raw(
                                                          PartRaw {
                                                           content: "reloadTriggers",
                                                           span: Span {
                                                            start: Position {
                                                             line: 294,
                                                             column: 49,
                                                            },
                                                            end: Position {
                                                             line: 294,
                                                             column: 63,
                                                            },
                                                           },
                                                          },
                                                         ),
                                                        ],
                                                        default: None,
                                                       },
                                                      ),
                                                     ],
                                                    },
                                                   ),
                                                  },
                                                 ),
                                                ],
                                                span: Span {
                                                 start: Position {
                                                  line: 294,
                                                  column: 11,
                                                 },
                                                 end: Position {
                                                  line: 294,
                                                  column: 66,
                                                 },
                                                },
                                               },
                                              ),
                                             ],
                                            },
                                           ),
                                           operator: Update,
                                           right: BinaryOperation(
                                            BinaryOperation {
                                             left: FunctionApplication(
                                              FunctionApplication {
                                               function: Identifier(
                                                Identifier {
                                                 id: "optionalAttrs",
                                                 span: Span {
                                                  start: Position {
                                                   line: 295,
                                                   column: 12,
                                                  },
                                                  end: Position {
                                                   line: 295,
                                                   column: 25,
                                                  },
                                                 },
                                                },
                                               ),
                                               arguments: [
                                                BinaryOperation(
                                                 BinaryOperation {
                                                  left: PropertyAccess(
                                                   PropertyAccess {
                                                    expression: Identifier(
                                                     Identifier {
                                                      id: "config",
                                                      span: Span {
                                                       start: Position {
                                                        line: 295,
                                                        column: 27,
                                                       },
                                                       end: Position {
                                                        line: 295,
                                                        column: 33,
                                                       },
                                                      },
                                                     },
                                                    ),
                                                    attribute_path: [
                                                     Raw(
                                                      PartRaw {
                                                       content: "description",
                                                       span: Span {
                                                        start: Position {
                                                         line: 295,
                                                         column: 34,
                                                        },
                                                        end: Position {
                                                         line: 295,
                                                         column: 45,
                                                        },
                                                       },
                                                      },
                                                     ),
                                                    ],
                                                    default: None,
                                                   },
                                                  ),
                                                  operator: NotEqualTo,
                                                  right: String(
                                                   String_ {
                                                    parts: [],
                                                    span: Span {
                                                     start: Position {
                                                      line: 295,
                                                      column: 49,
                                                     },
                                                     end: Position {
                                                      line: 295,
                                                      column: 51,
                                                     },
                                                    },
                                                   },
                                                  ),
                                                 },
                                                ),
                                                Map(
                                                 Map {
                                                  recursive: false,
                                                  bindings: [
                                                   KeyValue(
                                                    BindingKeyValue {
                                                     from: [
                                                      Raw(
                                                       PartRaw {
                                                        content: "Description",
                                                        span: Span {
                                                         start: Position {
                                                          line: 296,
                                                          column: 11,
                                                         },
                                                         end: Position {
                                                          line: 296,
                                                          column: 22,
                                                         },
                                                        },
                                                       },
                                                      ),
                                                     ],
                                                     to: PropertyAccess(
                                                      PropertyAccess {
                                                       expression: Identifier(
                                                        Identifier {
                                                         id: "config",
                                                         span: Span {
                                                          start: Position {
                                                           line: 296,
                                                           column: 25,
                                                          },
                                                          end: Position {
                                                           line: 296,
                                                           column: 31,
                                                          },
                                                         },
                                                        },
                                                       ),
                                                       attribute_path: [
                                                        Raw(
                                                         PartRaw {
                                                          content: "description",
                                                          span: Span {
                                                           start: Position {
                                                            line: 296,
                                                            column: 32,
                                                           },
                                                           end: Position {
                                                            line: 296,
                                                            column: 43,
                                                           },
                                                          },
                                                         },
                                                        ),
                                                       ],
                                                       default: None,
                                                      },
                                                     ),
                                                    },
                                                   ),
                                                  ],
                                                  span: Span {
                                                   start: Position {
                                                    line: 295,
                                                    column: 53,
                                                   },
                                                   end: Position {
                                                    line: 296,
                                                    column: 46,
                                                   },
                                                  },
                                                 },
                                                ),
                                               ],
                                              },
                                             ),
                                             operator: Update,
                                             right: BinaryOperation(
                                              BinaryOperation {
                                               left: FunctionApplication(
                                                FunctionApplication {
                                                 function: Identifier(
                                                  Identifier {
                                                   id: "optionalAttrs",
                                                   span: Span {
                                                    start: Position {
                                                     line: 297,
                                                     column: 12,
                                                    },
                                                    end: Position {
                                                     line: 297,
                                                     column: 25,
                                                    },
                                                   },
                                                  },
                                                 ),
                                                 arguments: [
                                                  BinaryOperation(
                                                   BinaryOperation {
                                                    left: PropertyAccess(
                                                     PropertyAccess {
                                                      expression: Identifier(
                                                       Identifier {
                                                        id: "config",
                                                        span: Span {
                                                         start: Position {
                                                          line: 297,
                                                          column: 27,
                                                         },
                                                         end: Position {
                                                          line: 297,
                                                          column: 33,
                                                         },
                                                        },
                                                       },
                                                      ),
                                                      attribute_path: [
                                                       Raw(
                                                        PartRaw {
                                                         content: "documentation",
                                                         span: Span {
                                                          start: Position {
                                                           line: 297,
                                                           column: 34,
                                                          },
                                                          end: Position {
                                                           line: 297,
                                                           column: 47,
                                                          },
                                                         },
                                                        },
                                                       ),
                                                      ],
                                                      default: None,
                                                     },
                                                    ),
                                                    operator: NotEqualTo,
                                                    right: List(
                                                     List {
                                                      elements: [],
                                                      span: Span {
                                                       start: Position {
                                                        line: 297,
                                                        column: 51,
                                                       },
                                                       end: Position {
                                                        line: 297,
                                                        column: 53,
                                                       },
                                                      },
                                                     },
                                                    ),
                                                   },
                                                  ),
                                                  Map(
                                                   Map {
                                                    recursive: false,
                                                    bindings: [
                                                     KeyValue(
                                                      BindingKeyValue {
                                                       from: [
                                                        Raw(
                                                         PartRaw {
                                                          content: "Documentation",
                                                          span: Span {
                                                           start: Position {
                                                            line: 298,
                                                            column: 11,
                                                           },
                                                           end: Position {
                                                            line: 298,
                                                            column: 24,
                                                           },
                                                          },
                                                         },
                                                        ),
                                                       ],
                                                       to: FunctionApplication(
                                                        FunctionApplication {
                                                         function: Identifier(
                                                          Identifier {
                                                           id: "toString",
                                                           span: Span {
                                                            start: Position {
                                                             line: 298,
                                                             column: 27,
                                                            },
                                                            end: Position {
                                                             line: 298,
                                                             column: 35,
                                                            },
                                                           },
                                                          },
                                                         ),
                                                         arguments: [
                                                          PropertyAccess(
                                                           PropertyAccess {
                                                            expression: Identifier(
                                                             Identifier {
                                                              id: "config",
                                                              span: Span {
                                                               start: Position {
                                                                line: 298,
                                                                column: 36,
                                                               },
                                                               end: Position {
                                                                line: 298,
                                                                column: 42,
                                                               },
                                                              },
                                                             },
                                                            ),
                                                            attribute_path: [
                                                             Raw(
                                                              PartRaw {
                                                               content: "documentation",
                                                               span: Span {
                                                                start: Position {
                                                                 line: 298,
                                                                 column: 43,
                                                                },
                                                                end: Position {
                                                                 line: 298,
                                                                 column: 56,
                                                                },
                                                               },
                                                              },
                                                             ),
                                                            ],
                                                            default: None,
                                                           },
                                                          ),
                                                         ],
                                                        },
                                                       ),
                                                      },
                                                     ),
                                                    ],
                                                    span: Span {
                                                     start: Position {
                                                      line: 297,
                                                      column: 55,
                                                     },
                                                     end: Position {
                                                      line: 298,
                                                      column: 59,
                                                     },
                                                    },
                                                   },
                                                  ),
                                                 ],
                                                },
                                               ),
                                               operator: Update,
                                               right: BinaryOperation(
                                                BinaryOperation {
                                                 left: FunctionApplication(
                                                  FunctionApplication {
                                                   function: Identifier(
                                                    Identifier {
                                                     id: "optionalAttrs",
                                                     span: Span {
                                                      start: Position {
                                                       line: 299,
                                                       column: 12,
                                                      },
                                                      end: Position {
                                                       line: 299,
                                                       column: 25,
                                                      },
                                                     },
                                                    },
                                                   ),
                                                   arguments: [
                                                    BinaryOperation(
                                                     BinaryOperation {
                                                      left: PropertyAccess(
                                                       PropertyAccess {
                                                        expression: Identifier(
                                                         Identifier {
                                                          id: "config",
                                                          span: Span {
                                                           start: Position {
                                                            line: 299,
                                                            column: 27,
                                                           },
                                                           end: Position {
                                                            line: 299,
                                                            column: 33,
                                                           },
                                                          },
                                                         },
                                                        ),
                                                        attribute_path: [
                                                         Raw(
                                                          PartRaw {
                                                           content: "onFailure",
                                                           span: Span {
                                                            start: Position {
                                                             line: 299,
                                                             column: 34,
                                                            },
                                                            end: Position {
                                                             line: 299,
                                                             column: 43,
                                                            },
                                                           },
                                                          },
                                                         ),
                                                        ],
                                                        default: None,
                                                       },
                                                      ),
                                                      operator: NotEqualTo,
                                                      right: List(
                                                       List {
                                                        elements: [],
                                                        span: Span {
                                                         start: Position {
                                                          line: 299,
                                                          column: 47,
                                                         },
                                                         end: Position {
                                                          line: 299,
                                                          column: 49,
                                                         },
                                                        },
                                                       },
                                                      ),
                                                     },
                                                    ),
                                                    Map(
                                                     Map {
                                                      recursive: false,
                                                      bindings: [
                                                       KeyValue(
                                                        BindingKeyValue {
                                                         from: [
                                                          Raw(
                                                           PartRaw {
                                                            content: "OnFailure",
                                                            span: Span {
                                                             start: Position {
                                                              line: 300,
                                                              column: 11,
                                                             },
                                                             end: Position {
                                                              line: 300,
                                                              column: 20,
                                                             },
                                                            },
                                                           },
                                                          ),
                                                         ],
                                                         to: FunctionApplication(
                                                          FunctionApplication {
                                                           function: Identifier(
                                                            Identifier {
                                                             id: "toString",
                                                             span: Span {
                                                              start: Position {
                                                               line: 300,
                                                               column: 23,
                                                              },
                                                              end: Position {
                                                               line: 300,
                                                               column: 31,
                                                              },
                                                             },
                                                            },
                                                           ),
                                                           arguments: [
                                                            PropertyAccess(
                                                             PropertyAccess {
                                                              expression: Identifier(
                                                               Identifier {
                                                                id: "config",
                                                                span: Span {
                                                                 start: Position {
                                                                  line: 300,
                                                                  column: 32,
                                                                 },
                                                                 end: Position {
                                                                  line: 300,
                                                                  column: 38,
                                                                 },
                                                                },
                                                               },
                                                              ),
                                                              attribute_path: [
                                                               Raw(
                                                                PartRaw {
                                                                 content: "onFailure",
                                                                 span: Span {
                                                                  start: Position {
                                                                   line: 300,
                                                                   column: 39,
                                                                  },
                                                                  end: Position {
                                                                   line: 300,
                                                                   column: 48,
                                                                  },
                                                                 },
                                                                },
                                                               ),
                                                              ],
                                                              default: None,
                                                             },
                                                            ),
                                                           ],
                                                          },
                                                         ),
                                                        },
                                                       ),
                                                      ],
                                                      span: Span {
                                                       start: Position {
                                                        line: 299,
                                                        column: 51,
                                                       },
                                                       end: Position {
                                                        line: 300,
                                                        column: 51,
                                                       },
                                                      },
                                                     },
                                                    ),
                                                   ],
                                                  },
                                                 ),
                                                 operator: Update,
                                                 right: BinaryOperation(
                                                  BinaryOperation {
                                                   left: FunctionApplication(
                                                    FunctionApplication {
                                                     function: Identifier(
                                                      Identifier {
                                                       id: "optionalAttrs",
                                                       span: Span {
                                                        start: Position {
                                                         line: 301,
                                                         column: 12,
                                                        },
                                                        end: Position {
                                                         line: 301,
                                                         column: 25,
                                                        },
                                                       },
                                                      },
                                                     ),
                                                     arguments: [
                                                      BinaryOperation(
                                                       BinaryOperation {
                                                        left: PropertyAccess(
                                                         PropertyAccess {
                                                          expression: Identifier(
                                                           Identifier {
                                                            id: "config",
                                                            span: Span {
                                                             start: Position {
                                                              line: 301,
                                                              column: 27,
                                                             },
                                                             end: Position {
                                                              line: 301,
                                                              column: 33,
                                                             },
                                                            },
                                                           },
                                                          ),
                                                          attribute_path: [
                                                           Raw(
                                                            PartRaw {
                                                             content: "onSuccess",
                                                             span: Span {
                                                              start: Position {
                                                               line: 301,
                                                               column: 34,
                                                              },
                                                              end: Position {
                                                               line: 301,
                                                               column: 43,
                                                              },
                                                             },
                                                            },
                                                           ),
                                                          ],
                                                          default: None,
                                                         },
                                                        ),
                                                        operator: NotEqualTo,
                                                        right: List(
                                                         List {
                                                          elements: [],
                                                          span: Span {
                                                           start: Position {
                                                            line: 301,
                                                            column: 47,
                                                           },
                                                           end: Position {
                                                            line: 301,
                                                            column: 49,
                                                           },
                                                          },
                                                         },
                                                        ),
                                                       },
                                                      ),
                                                      Map(
                                                       Map {
                                                        recursive: false,
                                                        bindings: [
                                                         KeyValue(
                                                          BindingKeyValue {
                                                           from: [
                                                            Raw(
                                                             PartRaw {
                                                              content: "OnSuccess",
                                                              span: Span {
                                                               start: Position {
                                                                line: 302,
                                                                column: 11,
                                                               },
                                                               end: Position {
                                                                line: 302,
                                                                column: 20,
                                                               },
                                                              },
                                                             },
                                                            ),
                                                           ],
                                                           to: FunctionApplication(
                                                            FunctionApplication {
                                                             function: Identifier(
                                                              Identifier {
                                                               id: "toString",
                                                               span: Span {
                                                                start: Position {
                                                                 line: 302,
                                                                 column: 23,
                                                                },
                                                                end: Position {
                                                                 line: 302,
                                                                 column: 31,
                                                                },
                                                               },
                                                              },
                                                             ),
                                                             arguments: [
                                                              PropertyAccess(
                                                               PropertyAccess {
                                                                expression: Identifier(
                                                                 Identifier {
                                                                  id: "config",
                                                                  span: Span {
                                                                   start: Position {
                                                                    line: 302,
                                                                    column: 32,
                                                                   },
                                                                   end: Position {
                                                                    line: 302,
                                                                    column: 38,
                                                                   },
                                                                  },
                                                                 },
                                                                ),
                                                                attribute_path: [
                                                                 Raw(
                                                                  PartRaw {
                                                                   content: "onSuccess",
                                                                   span: Span {
                                                                    start: Position {
                                                                     line: 302,
                                                                     column: 39,
                                                                    },
                                                                    end: Position {
                                                                     line: 302,
                                                                     column: 48,
                                                                    },
                                                                   },
                                                                  },
                                                                 ),
                                                                ],
                                                                default: None,
                                                               },
                                                              ),
                                                             ],
                                                            },
                                                           ),
                                                          },
                                                         ),
                                                        ],
                                                        span: Span {
                                                         start: Position {
                                                          line: 301,
                                                          column: 51,
                                                         },
                                                         end: Position {
                                                          line: 302,
                                                          column: 51,
                                                         },
                                                        },
                                                       },
                                                      ),
                                                     ],
                                                    },
                                                   ),
                                                   operator: Update,
                                                   right: BinaryOperation(
                                                    BinaryOperation {
                                                     left: FunctionApplication(
                                                      FunctionApplication {
                                                       function: Identifier(
                                                        Identifier {
                                                         id: "optionalAttrs",
                                                         span: Span {
                                                          start: Position {
                                                           line: 303,
                                                           column: 12,
                                                          },
                                                          end: Position {
                                                           line: 303,
                                                           column: 25,
                                                          },
                                                         },
                                                        },
                                                       ),
                                                       arguments: [
                                                        PropertyAccess(
                                                         PropertyAccess {
                                                          expression: Identifier(
                                                           Identifier {
                                                            id: "options",
                                                            span: Span {
                                                             start: Position {
                                                              line: 303,
                                                              column: 27,
                                                             },
                                                             end: Position {
                                                              line: 303,
                                                              column: 34,
                                                             },
                                                            },
                                                           },
                                                          ),
                                                          attribute_path: [
                                                           Raw(
                                                            PartRaw {
                                                             content: "startLimitIntervalSec",
                                                             span: Span {
                                                              start: Position {
                                                               line: 303,
                                                               column: 35,
                                                              },
                                                              end: Position {
                                                               line: 303,
                                                               column: 56,
                                                              },
                                                             },
                                                            },
                                                           ),
                                                           Raw(
                                                            PartRaw {
                                                             content: "isDefined",
                                                             span: Span {
                                                              start: Position {
                                                               line: 303,
                                                               column: 57,
                                                              },
                                                              end: Position {
                                                               line: 303,
                                                               column: 66,
                                                              },
                                                             },
                                                            },
                                                           ),
                                                          ],
                                                          default: None,
                                                         },
                                                        ),
                                                        Map(
                                                         Map {
                                                          recursive: false,
                                                          bindings: [
                                                           KeyValue(
                                                            BindingKeyValue {
                                                             from: [
                                                              Raw(
                                                               PartRaw {
                                                                content: "StartLimitIntervalSec",
                                                                span: Span {
                                                                 start: Position {
                                                                  line: 304,
                                                                  column: 11,
                                                                 },
                                                                 end: Position {
                                                                  line: 304,
                                                                  column: 32,
                                                                 },
                                                                },
                                                               },
                                                              ),
                                                             ],
                                                             to: FunctionApplication(
                                                              FunctionApplication {
                                                               function: Identifier(
                                                                Identifier {
                                                                 id: "toString",
                                                                 span: Span {
                                                                  start: Position {
                                                                   line: 304,
                                                                   column: 35,
                                                                  },
                                                                  end: Position {
                                                                   line: 304,
                                                                   column: 43,
                                                                  },
                                                                 },
                                                                },
                                                               ),
                                                               arguments: [
                                                                PropertyAccess(
                                                                 PropertyAccess {
                                                                  expression: Identifier(
                                                                   Identifier {
                                                                    id: "config",
                                                                    span: Span {
                                                                     start: Position {
                                                                      line: 304,
                                                                      column: 44,
                                                                     },
                                                                     end: Position {
                                                                      line: 304,
                                                                      column: 50,
                                                                     },
                                                                    },
                                                                   },
                                                                  ),
                                                                  attribute_path: [
                                                                   Raw(
                                                                    PartRaw {
                                                                     content: "startLimitIntervalSec",
                                                                     span: Span {
                                                                      start: Position {
                                                                       line: 304,
                                                                       column: 51,
                                                                      },
                                                                      end: Position {
                                                                       line: 304,
                                                                       column: 72,
                                                                      },
                                                                     },
                                                                    },
                                                                   ),
                                                                  ],
                                                                  default: None,
                                                                 },
                                                                ),
                                                               ],
                                                              },
                                                             ),
                                                            },
                                                           ),
                                                          ],
                                                          span: Span {
                                                           start: Position {
                                                            line: 303,
                                                            column: 68,
                                                           },
                                                           end: Position {
                                                            line: 305,
                                                            column: 10,
                                                           },
                                                          },
                                                         },
                                                        ),
                                                       ],
                                                      },
                                                     ),
                                                     operator: Update,
                                                     right: FunctionApplication(
                                                      FunctionApplication {
                                                       function: Identifier(
                                                        Identifier {
                                                         id: "optionalAttrs",
                                                         span: Span {
                                                          start: Position {
                                                           line: 305,
                                                           column: 14,
                                                          },
                                                          end: Position {
                                                           line: 305,
                                                           column: 27,
                                                          },
                                                         },
                                                        },
                                                       ),
                                                       arguments: [
                                                        PropertyAccess(
                                                         PropertyAccess {
                                                          expression: Identifier(
                                                           Identifier {
                                                            id: "options",
                                                            span: Span {
                                                             start: Position {
                                                              line: 305,
                                                              column: 29,
                                                             },
                                                             end: Position {
                                                              line: 305,
                                                              column: 36,
                                                             },
                                                            },
                                                           },
                                                          ),
                                                          attribute_path: [
                                                           Raw(
                                                            PartRaw {
                                                             content: "startLimitBurst",
                                                             span: Span {
                                                              start: Position {
                                                               line: 305,
                                                               column: 37,
                                                              },
                                                              end: Position {
                                                               line: 305,
                                                               column: 52,
                                                              },
                                                             },
                                                            },
                                                           ),
                                                           Raw(
                                                            PartRaw {
                                                             content: "isDefined",
                                                             span: Span {
                                                              start: Position {
                                                               line: 305,
                                                               column: 53,
                                                              },
                                                              end: Position {
                                                               line: 305,
                                                               column: 62,
                                                              },
                                                             },
                                                            },
                                                           ),
                                                          ],
                                                          default: None,
                                                         },
                                                        ),
                                                        Map(
                                                         Map {
                                                          recursive: false,
                                                          bindings: [
                                                           KeyValue(
                                                            BindingKeyValue {
                                                             from: [
                                                              Raw(
                                                               PartRaw {
                                                                content: "StartLimitBurst",
                                                                span: Span {
                                                                 start: Position {
                                                                  line: 306,
                                                                  column: 11,
                                                                 },
                                                                 end: Position {
                                                                  line: 306,
                                                                  column: 26,
                                                                 },
                                                                },
                                                               },
                                                              ),
                                                             ],
                                                             to: FunctionApplication(
                                                              FunctionApplication {
                                                               function: Identifier(
                                                                Identifier {
                                                                 id: "toString",
                                                                 span: Span {
                                                                  start: Position {
                                                                   line: 306,
                                                                   column: 29,
                                                                  },
                                                                  end: Position {
                                                                   line: 306,
                                                                   column: 37,
                                                                  },
                                                                 },
                                                                },
                                                               ),
                                                               arguments: [
                                                                PropertyAccess(
                                                                 PropertyAccess {
                                                                  expression: Identifier(
                                                                   Identifier {
                                                                    id: "config",
                                                                    span: Span {
                                                                     start: Position {
                                                                      line: 306,
                                                                      column: 38,
                                                                     },
                                                                     end: Position {
                                                                      line: 306,
                                                                      column: 44,
                                                                     },
                                                                    },
                                                                   },
                                                                  ),
                                                                  attribute_path: [
                                                                   Raw(
                                                                    PartRaw {
                                                                     content: "startLimitBurst",
                                                                     span: Span {
                                                                      start: Position {
                                                                       line: 306,
                                                                       column: 45,
                                                                      },
                                                                      end: Position {
                                                                       line: 306,
                                                                       column: 60,
                                                                      },
                                                                     },
                                                                    },
                                                                   ),
                                                                  ],
                                                                  default: None,
                                                                 },
                                                                ),
                                                               ],
                                                              },
                                                             ),
                                                            },
                                                           ),
                                                          ],
                                                          span: Span {
                                                           start: Position {
                                                            line: 305,
                                                            column: 64,
                                                           },
                                                           end: Position {
                                                            line: 307,
                                                            column: 10,
                                                           },
                                                          },
                                                         },
                                                        ),
                                                       ],
                                                      },
                                                     ),
                                                    },
                                                   ),
                                                  },
                                                 ),
                                                },
                                               ),
                                              },
                                             ),
                                            },
                                           ),
                                          },
                                         ),
                                        },
                                       ),
                                      },
                                     ),
                                    },
                                   ),
                                  },
                                 ),
                                },
                               ),
                              },
                             ),
                            },
                           ),
                          },
                         ),
                        },
                       ),
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 273,
                      column: 14,
                     },
                     end: Position {
                      line: 308,
                      column: 6,
                     },
                    },
                   },
                  ),
                 },
                ),
               ],
               span: Span {
                start: Position {
                 line: 272,
                 column: 42,
                },
                end: Position {
                 line: 309,
                 column: 4,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 272,
               column: 16,
              },
              end: Position {
               line: 309,
               column: 4,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "serviceConfig",
              span: Span {
               start: Position {
                line: 311,
                column: 3,
               },
               end: Position {
                line: 311,
                column: 16,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Destructured(
              FunctionHeadDestructured {
               ellipsis: true,
               identifier: None,
               arguments: [
                FunctionHeadDestructuredArgument {
                 identifier: "config",
                 default: None,
                },
               ],
              },
             ),
             body: Map(
              Map {
               recursive: false,
               bindings: [
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "config",
                     span: Span {
                      start: Position {
                       line: 312,
                       column: 5,
                      },
                      end: Position {
                       line: 312,
                       column: 11,
                      },
                     },
                    },
                   ),
                   Raw(
                    PartRaw {
                     content: "environment",
                     span: Span {
                      start: Position {
                       line: 312,
                       column: 12,
                      },
                      end: Position {
                       line: 312,
                       column: 23,
                      },
                     },
                    },
                   ),
                   Raw(
                    PartRaw {
                     content: "PATH",
                     span: Span {
                      start: Position {
                       line: 312,
                       column: 24,
                      },
                      end: Position {
                       line: 312,
                       column: 28,
                      },
                     },
                    },
                   ),
                  ],
                  to: FunctionApplication(
                   FunctionApplication {
                    function: Identifier(
                     Identifier {
                      id: "mkIf",
                      span: Span {
                       start: Position {
                        line: 312,
                        column: 31,
                       },
                       end: Position {
                        line: 312,
                        column: 35,
                       },
                      },
                     },
                    ),
                    arguments: [
                     BinaryOperation(
                      BinaryOperation {
                       left: PropertyAccess(
                        PropertyAccess {
                         expression: Identifier(
                          Identifier {
                           id: "config",
                           span: Span {
                            start: Position {
                             line: 312,
                             column: 37,
                            },
                            end: Position {
                             line: 312,
                             column: 43,
                            },
                           },
                          },
                         ),
                         attribute_path: [
                          Raw(
                           PartRaw {
                            content: "path",
                            span: Span {
                             start: Position {
                              line: 312,
                              column: 44,
                             },
                             end: Position {
                              line: 312,
                              column: 48,
                             },
                            },
                           },
                          ),
                         ],
                         default: None,
                        },
                       ),
                       operator: NotEqualTo,
                       right: List(
                        List {
                         elements: [],
                         span: Span {
                          start: Position {
                           line: 312,
                           column: 52,
                          },
                          end: Position {
                           line: 312,
                           column: 54,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     String(
                      String_ {
                       parts: [
                        Interpolation(
                         PartInterpolation {
                          expression: FunctionApplication(
                           FunctionApplication {
                            function: Identifier(
                             Identifier {
                              id: "makeBinPath",
                              span: Span {
                               start: Position {
                                line: 312,
                                column: 59,
                               },
                               end: Position {
                                line: 312,
                                column: 70,
                               },
                              },
                             },
                            ),
                            arguments: [
                             PropertyAccess(
                              PropertyAccess {
                               expression: Identifier(
                                Identifier {
                                 id: "config",
                                 span: Span {
                                  start: Position {
                                   line: 312,
                                   column: 71,
                                  },
                                  end: Position {
                                   line: 312,
                                   column: 77,
                                  },
                                 },
                                },
                               ),
                               attribute_path: [
                                Raw(
                                 PartRaw {
                                  content: "path",
                                  span: Span {
                                   start: Position {
                                    line: 312,
                                    column: 78,
                                   },
                                   end: Position {
                                    line: 312,
                                    column: 82,
                                   },
                                  },
                                 },
                                ),
                               ],
                               default: None,
                              },
                             ),
                            ],
                           },
                          ),
                         },
                        ),
                        Raw(
                         PartRaw {
                          content: ":",
                          span: Span {
                           start: Position {
                            line: 312,
                            column: 57,
                           },
                           end: Position {
                            line: 312,
                            column: 84,
                           },
                          },
                         },
                        ),
                        Interpolation(
                         PartInterpolation {
                          expression: FunctionApplication(
                           FunctionApplication {
                            function: Identifier(
                             Identifier {
                              id: "makeSearchPathOutput",
                              span: Span {
                               start: Position {
                                line: 312,
                                column: 86,
                               },
                               end: Position {
                                line: 312,
                                column: 106,
                               },
                              },
                             },
                            ),
                            arguments: [
                             String(
                              String_ {
                               parts: [
                                Raw(
                                 PartRaw {
                                  content: "bin",
                                  span: Span {
                                   start: Position {
                                    line: 312,
                                    column: 108,
                                   },
                                   end: Position {
                                    line: 312,
                                    column: 111,
                                   },
                                  },
                                 },
                                ),
                               ],
                               span: Span {
                                start: Position {
                                 line: 312,
                                 column: 107,
                                },
                                end: Position {
                                 line: 312,
                                 column: 112,
                                },
                               },
                              },
                             ),
                             String(
                              String_ {
                               parts: [
                                Raw(
                                 PartRaw {
                                  content: "sbin",
                                  span: Span {
                                   start: Position {
                                    line: 312,
                                    column: 114,
                                   },
                                   end: Position {
                                    line: 312,
                                    column: 118,
                                   },
                                  },
                                 },
                                ),
                               ],
                               span: Span {
                                start: Position {
                                 line: 312,
                                 column: 113,
                                },
                                end: Position {
                                 line: 312,
                                 column: 119,
                                },
                               },
                              },
                             ),
                             PropertyAccess(
                              PropertyAccess {
                               expression: Identifier(
                                Identifier {
                                 id: "config",
                                 span: Span {
                                  start: Position {
                                   line: 312,
                                   column: 120,
                                  },
                                  end: Position {
                                   line: 312,
                                   column: 126,
                                  },
                                 },
                                },
                               ),
                               attribute_path: [
                                Raw(
                                 PartRaw {
                                  content: "path",
                                  span: Span {
                                   start: Position {
                                    line: 312,
                                    column: 127,
                                   },
                                   end: Position {
                                    line: 312,
                                    column: 131,
                                   },
                                  },
                                 },
                                ),
                               ],
                               default: None,
                              },
                             ),
                            ],
                           },
                          ),
                         },
                        ),
                       ],
                       span: Span {
                        start: Position {
                         line: 312,
                         column: 56,
                        },
                        end: Position {
                         line: 312,
                         column: 133,
                        },
                       },
                      },
                     ),
                    ],
                   },
                  ),
                 },
                ),
               ],
               span: Span {
                start: Position {
                 line: 311,
                 column: 36,
                },
                end: Position {
                 line: 313,
                 column: 4,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 311,
               column: 19,
              },
              end: Position {
               line: 313,
               column: 4,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "stage2ServiceConfig",
              span: Span {
               start: Position {
                line: 315,
                column: 3,
               },
               end: Position {
                line: 315,
                column: 22,
               },
              },
             },
            ),
           ],
           to: Map(
            Map {
             recursive: false,
             bindings: [
              KeyValue(
               BindingKeyValue {
                from: [
                 Raw(
                  PartRaw {
                   content: "imports",
                   span: Span {
                    start: Position {
                     line: 316,
                     column: 5,
                    },
                    end: Position {
                     line: 316,
                     column: 12,
                    },
                   },
                  },
                 ),
                ],
                to: List(
                 List {
                  elements: [
                   Identifier(
                    Identifier {
                     id: "serviceConfig",
                     span: Span {
                      start: Position {
                       line: 316,
                       column: 17,
                      },
                      end: Position {
                       line: 316,
                       column: 30,
                      },
                     },
                    },
                   ),
                  ],
                  span: Span {
                   start: Position {
                    line: 316,
                    column: 15,
                   },
                   end: Position {
                    line: 316,
                    column: 32,
                   },
                  },
                 },
                ),
               },
              ),
              KeyValue(
               BindingKeyValue {
                from: [
                 Raw(
                  PartRaw {
                   content: "config",
                   span: Span {
                    start: Position {
                     line: 318,
                     column: 5,
                    },
                    end: Position {
                     line: 318,
                     column: 11,
                    },
                   },
                  },
                 ),
                 Raw(
                  PartRaw {
                   content: "path",
                   span: Span {
                    start: Position {
                     line: 318,
                     column: 12,
                    },
                    end: Position {
                     line: 318,
                     column: 16,
                    },
                   },
                  },
                 ),
                ],
                to: FunctionApplication(
                 FunctionApplication {
                  function: Identifier(
                   Identifier {
                    id: "mkAfter",
                    span: Span {
                     start: Position {
                      line: 318,
                      column: 19,
                     },
                     end: Position {
                      line: 318,
                      column: 26,
                     },
                    },
                   },
                  ),
                  arguments: [
                   List(
                    List {
                     elements: [
                      PropertyAccess(
                       PropertyAccess {
                        expression: Identifier(
                         Identifier {
                          id: "pkgs",
                          span: Span {
                           start: Position {
                            line: 319,
                            column: 7,
                           },
                           end: Position {
                            line: 319,
                            column: 11,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Raw(
                          PartRaw {
                           content: "coreutils",
                           span: Span {
                            start: Position {
                             line: 319,
                             column: 12,
                            },
                            end: Position {
                             line: 319,
                             column: 21,
                            },
                           },
                          },
                         ),
                        ],
                        default: None,
                       },
                      ),
                      PropertyAccess(
                       PropertyAccess {
                        expression: Identifier(
                         Identifier {
                          id: "pkgs",
                          span: Span {
                           start: Position {
                            line: 320,
                            column: 7,
                           },
                           end: Position {
                            line: 320,
                            column: 11,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Raw(
                          PartRaw {
                           content: "findutils",
                           span: Span {
                            start: Position {
                             line: 320,
                             column: 12,
                            },
                            end: Position {
                             line: 320,
                             column: 21,
                            },
                           },
                          },
                         ),
                        ],
                        default: None,
                       },
                      ),
                      PropertyAccess(
                       PropertyAccess {
                        expression: Identifier(
                         Identifier {
                          id: "pkgs",
                          span: Span {
                           start: Position {
                            line: 321,
                            column: 7,
                           },
                           end: Position {
                            line: 321,
                            column: 11,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Raw(
                          PartRaw {
                           content: "gnugrep",
                           span: Span {
                            start: Position {
                             line: 321,
                             column: 12,
                            },
                            end: Position {
                             line: 321,
                             column: 19,
                            },
                           },
                          },
                         ),
                        ],
                        default: None,
                       },
                      ),
                      PropertyAccess(
                       PropertyAccess {
                        expression: Identifier(
                         Identifier {
                          id: "pkgs",
                          span: Span {
                           start: Position {
                            line: 322,
                            column: 7,
                           },
                           end: Position {
                            line: 322,
                            column: 11,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Raw(
                          PartRaw {
                           content: "gnused",
                           span: Span {
                            start: Position {
                             line: 322,
                             column: 12,
                            },
                            end: Position {
                             line: 322,
                             column: 18,
                            },
                           },
                          },
                         ),
                        ],
                        default: None,
                       },
                      ),
                      Identifier(
                       Identifier {
                        id: "systemd",
                        span: Span {
                         start: Position {
                          line: 323,
                          column: 7,
                         },
                         end: Position {
                          line: 323,
                          column: 14,
                         },
                        },
                       },
                      ),
                     ],
                     span: Span {
                      start: Position {
                       line: 318,
                       column: 27,
                      },
                      end: Position {
                       line: 324,
                       column: 6,
                      },
                     },
                    },
                   ),
                  ],
                 },
                ),
               },
              ),
             ],
             span: Span {
              start: Position {
               line: 315,
               column: 25,
              },
              end: Position {
               line: 325,
               column: 4,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "stage1ServiceConfig",
              span: Span {
               start: Position {
                line: 327,
                column: 3,
               },
               end: Position {
                line: 327,
                column: 22,
               },
              },
             },
            ),
           ],
           to: Identifier(
            Identifier {
             id: "serviceConfig",
             span: Span {
              start: Position {
               line: 327,
               column: 25,
              },
              end: Position {
               line: 327,
               column: 38,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "mountConfig",
              span: Span {
               start: Position {
                line: 329,
                column: 3,
               },
               end: Position {
                line: 329,
                column: 14,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Destructured(
              FunctionHeadDestructured {
               ellipsis: true,
               identifier: None,
               arguments: [
                FunctionHeadDestructuredArgument {
                 identifier: "config",
                 default: None,
                },
               ],
              },
             ),
             body: Map(
              Map {
               recursive: false,
               bindings: [
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "config",
                     span: Span {
                      start: Position {
                       line: 330,
                       column: 5,
                      },
                      end: Position {
                       line: 330,
                       column: 11,
                      },
                     },
                    },
                   ),
                  ],
                  to: Map(
                   Map {
                    recursive: false,
                    bindings: [
                     KeyValue(
                      BindingKeyValue {
                       from: [
                        Raw(
                         PartRaw {
                          content: "mountConfig",
                          span: Span {
                           start: Position {
                            line: 331,
                            column: 7,
                           },
                           end: Position {
                            line: 331,
                            column: 18,
                           },
                          },
                         },
                        ),
                       ],
                       to: BinaryOperation(
                        BinaryOperation {
                         left: Map(
                          Map {
                           recursive: false,
                           bindings: [
                            KeyValue(
                             BindingKeyValue {
                              from: [
                               Raw(
                                PartRaw {
                                 content: "What",
                                 span: Span {
                                  start: Position {
                                   line: 332,
                                   column: 11,
                                  },
                                  end: Position {
                                   line: 332,
                                   column: 15,
                                  },
                                 },
                                },
                               ),
                              ],
                              to: PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "config",
                                  span: Span {
                                   start: Position {
                                    line: 332,
                                    column: 18,
                                   },
                                   end: Position {
                                    line: 332,
                                    column: 24,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "what",
                                   span: Span {
                                    start: Position {
                                     line: 332,
                                     column: 25,
                                    },
                                    end: Position {
                                     line: 332,
                                     column: 29,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             },
                            ),
                            KeyValue(
                             BindingKeyValue {
                              from: [
                               Raw(
                                PartRaw {
                                 content: "Where",
                                 span: Span {
                                  start: Position {
                                   line: 333,
                                   column: 11,
                                  },
                                  end: Position {
                                   line: 333,
                                   column: 16,
                                  },
                                 },
                                },
                               ),
                              ],
                              to: PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "config",
                                  span: Span {
                                   start: Position {
                                    line: 333,
                                    column: 19,
                                   },
                                   end: Position {
                                    line: 333,
                                    column: 25,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "where",
                                   span: Span {
                                    start: Position {
                                     line: 333,
                                     column: 26,
                                    },
                                    end: Position {
                                     line: 333,
                                     column: 31,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 332,
                             column: 9,
                            },
                            end: Position {
                             line: 334,
                             column: 10,
                            },
                           },
                          },
                         ),
                         operator: Update,
                         right: BinaryOperation(
                          BinaryOperation {
                           left: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "optionalAttrs",
                               span: Span {
                                start: Position {
                                 line: 334,
                                 column: 14,
                                },
                                end: Position {
                                 line: 334,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              BinaryOperation(
                               BinaryOperation {
                                left: PropertyAccess(
                                 PropertyAccess {
                                  expression: Identifier(
                                   Identifier {
                                    id: "config",
                                    span: Span {
                                     start: Position {
                                      line: 334,
                                      column: 29,
                                     },
                                     end: Position {
                                      line: 334,
                                      column: 35,
                                     },
                                    },
                                   },
                                  ),
                                  attribute_path: [
                                   Raw(
                                    PartRaw {
                                     content: "type",
                                     span: Span {
                                      start: Position {
                                       line: 334,
                                       column: 36,
                                      },
                                      end: Position {
                                       line: 334,
                                       column: 40,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                  default: None,
                                 },
                                ),
                                operator: NotEqualTo,
                                right: String(
                                 String_ {
                                  parts: [],
                                  span: Span {
                                   start: Position {
                                    line: 334,
                                    column: 44,
                                   },
                                   end: Position {
                                    line: 334,
                                    column: 46,
                                   },
                                  },
                                 },
                                ),
                               },
                              ),
                              Map(
                               Map {
                                recursive: false,
                                bindings: [
                                 KeyValue(
                                  BindingKeyValue {
                                   from: [
                                    Raw(
                                     PartRaw {
                                      content: "Type",
                                      span: Span {
                                       start: Position {
                                        line: 335,
                                        column: 11,
                                       },
                                       end: Position {
                                        line: 335,
                                        column: 15,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                   to: PropertyAccess(
                                    PropertyAccess {
                                     expression: Identifier(
                                      Identifier {
                                       id: "config",
                                       span: Span {
                                        start: Position {
                                         line: 335,
                                         column: 18,
                                        },
                                        end: Position {
                                         line: 335,
                                         column: 24,
                                        },
                                       },
                                      },
                                     ),
                                     attribute_path: [
                                      Raw(
                                       PartRaw {
                                        content: "type",
                                        span: Span {
                                         start: Position {
                                          line: 335,
                                          column: 25,
                                         },
                                         end: Position {
                                          line: 335,
                                          column: 29,
                                         },
                                        },
                                       },
                                      ),
                                     ],
                                     default: None,
                                    },
                                   ),
                                  },
                                 ),
                                ],
                                span: Span {
                                 start: Position {
                                  line: 334,
                                  column: 48,
                                 },
                                 end: Position {
                                  line: 336,
                                  column: 10,
                                 },
                                },
                               },
                              ),
                             ],
                            },
                           ),
                           operator: Update,
                           right: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "optionalAttrs",
                               span: Span {
                                start: Position {
                                 line: 336,
                                 column: 14,
                                },
                                end: Position {
                                 line: 336,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              BinaryOperation(
                               BinaryOperation {
                                left: PropertyAccess(
                                 PropertyAccess {
                                  expression: Identifier(
                                   Identifier {
                                    id: "config",
                                    span: Span {
                                     start: Position {
                                      line: 336,
                                      column: 29,
                                     },
                                     end: Position {
                                      line: 336,
                                      column: 35,
                                     },
                                    },
                                   },
                                  ),
                                  attribute_path: [
                                   Raw(
                                    PartRaw {
                                     content: "options",
                                     span: Span {
                                      start: Position {
                                       line: 336,
                                       column: 36,
                                      },
                                      end: Position {
                                       line: 336,
                                       column: 43,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                  default: None,
                                 },
                                ),
                                operator: NotEqualTo,
                                right: String(
                                 String_ {
                                  parts: [],
                                  span: Span {
                                   start: Position {
                                    line: 336,
                                    column: 47,
                                   },
                                   end: Position {
                                    line: 336,
                                    column: 49,
                                   },
                                  },
                                 },
                                ),
                               },
                              ),
                              Map(
                               Map {
                                recursive: false,
                                bindings: [
                                 KeyValue(
                                  BindingKeyValue {
                                   from: [
                                    Raw(
                                     PartRaw {
                                      content: "Options",
                                      span: Span {
                                       start: Position {
                                        line: 337,
                                        column: 11,
                                       },
                                       end: Position {
                                        line: 337,
                                        column: 18,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                   to: PropertyAccess(
                                    PropertyAccess {
                                     expression: Identifier(
                                      Identifier {
                                       id: "config",
                                       span: Span {
                                        start: Position {
                                         line: 337,
                                         column: 21,
                                        },
                                        end: Position {
                                         line: 337,
                                         column: 27,
                                        },
                                       },
                                      },
                                     ),
                                     attribute_path: [
                                      Raw(
                                       PartRaw {
                                        content: "options",
                                        span: Span {
                                         start: Position {
                                          line: 337,
                                          column: 28,
                                         },
                                         end: Position {
                                          line: 337,
                                          column: 35,
                                         },
                                        },
                                       },
                                      ),
                                     ],
                                     default: None,
                                    },
                                   ),
                                  },
                                 ),
                                ],
                                span: Span {
                                 start: Position {
                                  line: 336,
                                  column: 51,
                                 },
                                 end: Position {
                                  line: 338,
                                  column: 10,
                                 },
                                },
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                        },
                       ),
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 330,
                      column: 14,
                     },
                     end: Position {
                      line: 339,
                      column: 6,
                     },
                    },
                   },
                  ),
                 },
                ),
               ],
               span: Span {
                start: Position {
                 line: 329,
                 column: 34,
                },
                end: Position {
                 line: 340,
                 column: 4,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 329,
               column: 17,
              },
              end: Position {
               line: 340,
               column: 4,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "automountConfig",
              span: Span {
               start: Position {
                line: 342,
                column: 3,
               },
               end: Position {
                line: 342,
                column: 18,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Destructured(
              FunctionHeadDestructured {
               ellipsis: true,
               identifier: None,
               arguments: [
                FunctionHeadDestructuredArgument {
                 identifier: "config",
                 default: None,
                },
               ],
              },
             ),
             body: Map(
              Map {
               recursive: false,
               bindings: [
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "config",
                     span: Span {
                      start: Position {
                       line: 343,
                       column: 5,
                      },
                      end: Position {
                       line: 343,
                       column: 11,
                      },
                     },
                    },
                   ),
                  ],
                  to: Map(
                   Map {
                    recursive: false,
                    bindings: [
                     KeyValue(
                      BindingKeyValue {
                       from: [
                        Raw(
                         PartRaw {
                          content: "automountConfig",
                          span: Span {
                           start: Position {
                            line: 344,
                            column: 7,
                           },
                           end: Position {
                            line: 344,
                            column: 22,
                           },
                          },
                         },
                        ),
                       ],
                       to: Map(
                        Map {
                         recursive: false,
                         bindings: [
                          KeyValue(
                           BindingKeyValue {
                            from: [
                             Raw(
                              PartRaw {
                               content: "Where",
                               span: Span {
                                start: Position {
                                 line: 345,
                                 column: 11,
                                },
                                end: Position {
                                 line: 345,
                                 column: 16,
                                },
                               },
                              },
                             ),
                            ],
                            to: PropertyAccess(
                             PropertyAccess {
                              expression: Identifier(
                               Identifier {
                                id: "config",
                                span: Span {
                                 start: Position {
                                  line: 345,
                                  column: 19,
                                 },
                                 end: Position {
                                  line: 345,
                                  column: 25,
                                 },
                                },
                               },
                              ),
                              attribute_path: [
                               Raw(
                                PartRaw {
                                 content: "where",
                                 span: Span {
                                  start: Position {
                                   line: 345,
                                   column: 26,
                                  },
                                  end: Position {
                                   line: 345,
                                   column: 31,
                                  },
                                 },
                                },
                               ),
                              ],
                              default: None,
                             },
                            ),
                           },
                          ),
                         ],
                         span: Span {
                          start: Position {
                           line: 345,
                           column: 9,
                          },
                          end: Position {
                           line: 346,
                           column: 10,
                          },
                         },
                        },
                       ),
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 343,
                      column: 14,
                     },
                     end: Position {
                      line: 347,
                      column: 6,
                     },
                    },
                   },
                  ),
                 },
                ),
               ],
               span: Span {
                start: Position {
                 line: 342,
                 column: 38,
                },
                end: Position {
                 line: 348,
                 column: 4,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 342,
               column: 21,
              },
              end: Position {
               line: 348,
               column: 4,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "commonUnitText",
              span: Span {
               start: Position {
                line: 350,
                column: 3,
               },
               end: Position {
                line: 350,
                column: 17,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "def",
              },
             ),
             body: IndentedString(
              IndentedString {
               parts: [
                Raw(
                 PartRaw {
                  content: "[Unit]\n",
                  span: Span {
                   start: Position {
                    line: 351,
                    column: 1,
                   },
                   end: Position {
                    line: 352,
                    column: 7,
                   },
                  },
                 },
                ),
                Interpolation(
                 PartInterpolation {
                  expression: FunctionApplication(
                   FunctionApplication {
                    function: Identifier(
                     Identifier {
                      id: "attrsToSection",
                      span: Span {
                       start: Position {
                        line: 352,
                        column: 9,
                       },
                       end: Position {
                        line: 352,
                        column: 23,
                       },
                      },
                     },
                    ),
                    arguments: [
                     PropertyAccess(
                      PropertyAccess {
                       expression: Identifier(
                        Identifier {
                         id: "def",
                         span: Span {
                          start: Position {
                           line: 352,
                           column: 24,
                          },
                          end: Position {
                           line: 352,
                           column: 27,
                          },
                         },
                        },
                       ),
                       attribute_path: [
                        Raw(
                         PartRaw {
                          content: "unitConfig",
                          span: Span {
                           start: Position {
                            line: 352,
                            column: 28,
                           },
                           end: Position {
                            line: 352,
                            column: 38,
                           },
                          },
                         },
                        ),
                       ],
                       default: None,
                      },
                     ),
                    ],
                   },
                  ),
                 },
                ),
                Raw(
                 PartRaw {
                  content: "\n",
                  span: Span {
                   start: Position {
                    line: 351,
                    column: 1,
                   },
                   end: Position {
                    line: 353,
                    column: 5,
                   },
                  },
                 },
                ),
               ],
               span: Span {
                start: Position {
                 line: 350,
                 column: 25,
                },
                end: Position {
                 line: 353,
                 column: 7,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 350,
               column: 20,
              },
              end: Position {
               line: 353,
               column: 7,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "targetToUnit",
              span: Span {
               start: Position {
                line: 355,
                column: 3,
               },
               end: Position {
                line: 355,
                column: 15,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "def",
                },
               ),
               body: Map(
                Map {
                 recursive: false,
                 bindings: [
                  Inherit(
                   BindingInherit {
                    from: Some(
                     Identifier(
                      Identifier {
                       id: "def",
                       span: Span {
                        start: Position {
                         line: 356,
                         column: 16,
                        },
                        end: Position {
                         line: 356,
                         column: 19,
                        },
                       },
                      },
                     ),
                    ),
                    attributes: [
                     Raw(
                      PartRaw {
                       content: "aliases",
                       span: Span {
                        start: Position {
                         line: 356,
                         column: 21,
                        },
                        end: Position {
                         line: 356,
                         column: 28,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "wantedBy",
                       span: Span {
                        start: Position {
                         line: 356,
                         column: 29,
                        },
                        end: Position {
                         line: 356,
                         column: 37,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "requiredBy",
                       span: Span {
                        start: Position {
                         line: 356,
                         column: 38,
                        },
                        end: Position {
                         line: 356,
                         column: 48,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "enable",
                       span: Span {
                        start: Position {
                         line: 356,
                         column: 49,
                        },
                        end: Position {
                         line: 356,
                         column: 55,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "overrideStrategy",
                       span: Span {
                        start: Position {
                         line: 356,
                         column: 56,
                        },
                        end: Position {
                         line: 356,
                         column: 72,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 356,
                      column: 6,
                     },
                     end: Position {
                      line: 356,
                      column: 73,
                     },
                    },
                   },
                  ),
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "text",
                       span: Span {
                        start: Position {
                         line: 357,
                         column: 7,
                        },
                        end: Position {
                         line: 357,
                         column: 11,
                        },
                       },
                      },
                     ),
                    ],
                    to: IndentedString(
                     IndentedString {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "[Unit]\n",
                         span: Span {
                          start: Position {
                           line: 359,
                           column: 1,
                          },
                          end: Position {
                           line: 360,
                           column: 11,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "attrsToSection",
                             span: Span {
                              start: Position {
                               line: 360,
                               column: 13,
                              },
                              end: Position {
                               line: 360,
                               column: 27,
                              },
                             },
                            },
                           ),
                           arguments: [
                            PropertyAccess(
                             PropertyAccess {
                              expression: Identifier(
                               Identifier {
                                id: "def",
                                span: Span {
                                 start: Position {
                                  line: 360,
                                  column: 28,
                                 },
                                 end: Position {
                                  line: 360,
                                  column: 31,
                                 },
                                },
                               },
                              ),
                              attribute_path: [
                               Raw(
                                PartRaw {
                                 content: "unitConfig",
                                 span: Span {
                                  start: Position {
                                   line: 360,
                                   column: 32,
                                  },
                                  end: Position {
                                   line: 360,
                                   column: 42,
                                  },
                                 },
                                },
                               ),
                              ],
                              default: None,
                             },
                            ),
                           ],
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "\n",
                         span: Span {
                          start: Position {
                           line: 359,
                           column: 1,
                          },
                          end: Position {
                           line: 361,
                           column: 9,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 358,
                        column: 9,
                       },
                       end: Position {
                        line: 361,
                        column: 11,
                       },
                      },
                     },
                    ),
                   },
                  ),
                 ],
                 span: Span {
                  start: Position {
                   line: 356,
                   column: 5,
                  },
                  end: Position {
                   line: 362,
                   column: 6,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 355,
                 column: 24,
                },
                end: Position {
                 line: 362,
                 column: 6,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 355,
               column: 18,
              },
              end: Position {
               line: 362,
               column: 6,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "serviceToUnit",
              span: Span {
               start: Position {
                line: 364,
                column: 3,
               },
               end: Position {
                line: 364,
                column: 16,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "def",
                },
               ),
               body: Map(
                Map {
                 recursive: false,
                 bindings: [
                  Inherit(
                   BindingInherit {
                    from: Some(
                     Identifier(
                      Identifier {
                       id: "def",
                       span: Span {
                        start: Position {
                         line: 365,
                         column: 16,
                        },
                        end: Position {
                         line: 365,
                         column: 19,
                        },
                       },
                      },
                     ),
                    ),
                    attributes: [
                     Raw(
                      PartRaw {
                       content: "aliases",
                       span: Span {
                        start: Position {
                         line: 365,
                         column: 21,
                        },
                        end: Position {
                         line: 365,
                         column: 28,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "wantedBy",
                       span: Span {
                        start: Position {
                         line: 365,
                         column: 29,
                        },
                        end: Position {
                         line: 365,
                         column: 37,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "requiredBy",
                       span: Span {
                        start: Position {
                         line: 365,
                         column: 38,
                        },
                        end: Position {
                         line: 365,
                         column: 48,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "enable",
                       span: Span {
                        start: Position {
                         line: 365,
                         column: 49,
                        },
                        end: Position {
                         line: 365,
                         column: 55,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "overrideStrategy",
                       span: Span {
                        start: Position {
                         line: 365,
                         column: 56,
                        },
                        end: Position {
                         line: 365,
                         column: 72,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 365,
                      column: 6,
                     },
                     end: Position {
                      line: 365,
                      column: 73,
                     },
                    },
                   },
                  ),
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "text",
                       span: Span {
                        start: Position {
                         line: 366,
                         column: 7,
                        },
                        end: Position {
                         line: 366,
                         column: 11,
                        },
                       },
                      },
                     ),
                    ],
                    to: BinaryOperation(
                     BinaryOperation {
                      left: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "commonUnitText",
                          span: Span {
                           start: Position {
                            line: 366,
                            column: 14,
                           },
                           end: Position {
                            line: 366,
                            column: 28,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Identifier(
                          Identifier {
                           id: "def",
                           span: Span {
                            start: Position {
                             line: 366,
                             column: 29,
                            },
                            end: Position {
                             line: 366,
                             column: 32,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                      operator: Addition,
                      right: IndentedString(
                       IndentedString {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "[Service]\n",
                           span: Span {
                            start: Position {
                             line: 368,
                             column: 1,
                            },
                            end: Position {
                             line: 369,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: LetIn(
                            LetIn {
                             bindings: [
                              KeyValue(
                               BindingKeyValue {
                                from: [
                                 Raw(
                                  PartRaw {
                                   content: "env",
                                   span: Span {
                                    start: Position {
                                     line: 369,
                                     column: 17,
                                    },
                                    end: Position {
                                     line: 369,
                                     column: 20,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                to: BinaryOperation(
                                 BinaryOperation {
                                  left: PropertyAccess(
                                   PropertyAccess {
                                    expression: Identifier(
                                     Identifier {
                                      id: "cfg",
                                      span: Span {
                                       start: Position {
                                        line: 369,
                                        column: 23,
                                       },
                                       end: Position {
                                        line: 369,
                                        column: 26,
                                       },
                                      },
                                     },
                                    ),
                                    attribute_path: [
                                     Raw(
                                      PartRaw {
                                       content: "globalEnvironment",
                                       span: Span {
                                        start: Position {
                                         line: 369,
                                         column: 27,
                                        },
                                        end: Position {
                                         line: 369,
                                         column: 44,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    default: None,
                                   },
                                  ),
                                  operator: Update,
                                  right: PropertyAccess(
                                   PropertyAccess {
                                    expression: Identifier(
                                     Identifier {
                                      id: "def",
                                      span: Span {
                                       start: Position {
                                        line: 369,
                                        column: 48,
                                       },
                                       end: Position {
                                        line: 369,
                                        column: 51,
                                       },
                                      },
                                     },
                                    ),
                                    attribute_path: [
                                     Raw(
                                      PartRaw {
                                       content: "environment",
                                       span: Span {
                                        start: Position {
                                         line: 369,
                                         column: 52,
                                        },
                                        end: Position {
                                         line: 369,
                                         column: 63,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    default: None,
                                   },
                                  ),
                                 },
                                ),
                               },
                              ),
                             ],
                             target: FunctionApplication(
                              FunctionApplication {
                               function: Identifier(
                                Identifier {
                                 id: "concatMapStrings",
                                 span: Span {
                                  start: Position {
                                   line: 370,
                                   column: 16,
                                  },
                                  end: Position {
                                   line: 370,
                                   column: 32,
                                  },
                                 },
                                },
                               ),
                               arguments: [
                                Function(
                                 Function {
                                  head: Simple(
                                   FunctionHeadSimple {
                                    identifier: "n",
                                   },
                                  ),
                                  body: LetIn(
                                   LetIn {
                                    bindings: [
                                     KeyValue(
                                      BindingKeyValue {
                                       from: [
                                        Raw(
                                         PartRaw {
                                          content: "s",
                                          span: Span {
                                           start: Position {
                                            line: 371,
                                            column: 19,
                                           },
                                           end: Position {
                                            line: 371,
                                            column: 20,
                                           },
                                          },
                                         },
                                        ),
                                       ],
                                       to: FunctionApplication(
                                        FunctionApplication {
                                         function: Identifier(
                                          Identifier {
                                           id: "optionalString",
                                           span: Span {
                                            start: Position {
                                             line: 371,
                                             column: 23,
                                            },
                                            end: Position {
                                             line: 371,
                                             column: 37,
                                            },
                                           },
                                          },
                                         ),
                                         arguments: [
                                          BinaryOperation(
                                           BinaryOperation {
                                            left: PropertyAccess(
                                             PropertyAccess {
                                              expression: Identifier(
                                               Identifier {
                                                id: "env",
                                                span: Span {
                                                 start: Position {
                                                  line: 371,
                                                  column: 39,
                                                 },
                                                 end: Position {
                                                  line: 371,
                                                  column: 42,
                                                 },
                                                },
                                               },
                                              ),
                                              attribute_path: [
                                               Interpolation(
                                                PartInterpolation {
                                                 expression: Identifier(
                                                  Identifier {
                                                   id: "n",
                                                   span: Span {
                                                    start: Position {
                                                     line: 371,
                                                     column: 45,
                                                    },
                                                    end: Position {
                                                     line: 371,
                                                     column: 46,
                                                    },
                                                   },
                                                  },
                                                 ),
                                                },
                                               ),
                                              ],
                                              default: None,
                                             },
                                            ),
                                            operator: NotEqualTo,
                                            right: Identifier(
                                             Identifier {
                                              id: "null",
                                              span: Span {
                                               start: Position {
                                                line: 371,
                                                column: 51,
                                               },
                                               end: Position {
                                                line: 371,
                                                column: 55,
                                               },
                                              },
                                             },
                                            ),
                                           },
                                          ),
                                          String(
                                           String_ {
                                            parts: [
                                             Raw(
                                              PartRaw {
                                               content: "Environment=",
                                               span: Span {
                                                start: Position {
                                                 line: 372,
                                                 column: 18,
                                                },
                                                end: Position {
                                                 line: 372,
                                                 column: 67,
                                                },
                                               },
                                              },
                                             ),
                                             Interpolation(
                                              PartInterpolation {
                                               expression: FunctionApplication(
                                                FunctionApplication {
                                                 function: PropertyAccess(
                                                  PropertyAccess {
                                                   expression: Identifier(
                                                    Identifier {
                                                     id: "builtins",
                                                     span: Span {
                                                      start: Position {
                                                       line: 372,
                                                       column: 32,
                                                      },
                                                      end: Position {
                                                       line: 372,
                                                       column: 40,
                                                      },
                                                     },
                                                    },
                                                   ),
                                                   attribute_path: [
                                                    Raw(
                                                     PartRaw {
                                                      content: "toJSON",
                                                      span: Span {
                                                       start: Position {
                                                        line: 372,
                                                        column: 41,
                                                       },
                                                       end: Position {
                                                        line: 372,
                                                        column: 47,
                                                       },
                                                      },
                                                     },
                                                    ),
                                                   ],
                                                   default: None,
                                                  },
                                                 ),
                                                 arguments: [
                                                  String(
                                                   String_ {
                                                    parts: [
                                                     Interpolation(
                                                      PartInterpolation {
                                                       expression: Identifier(
                                                        Identifier {
                                                         id: "n",
                                                         span: Span {
                                                          start: Position {
                                                           line: 372,
                                                           column: 51,
                                                          },
                                                          end: Position {
                                                           line: 372,
                                                           column: 52,
                                                          },
                                                         },
                                                        },
                                                       ),
                                                      },
                                                     ),
                                                     Raw(
                                                      PartRaw {
                                                       content: "=",
                                                       span: Span {
                                                        start: Position {
                                                         line: 372,
                                                         column: 49,
                                                        },
                                                        end: Position {
                                                         line: 372,
                                                         column: 54,
                                                        },
                                                       },
                                                      },
                                                     ),
                                                     Interpolation(
                                                      PartInterpolation {
                                                       expression: PropertyAccess(
                                                        PropertyAccess {
                                                         expression: Identifier(
                                                          Identifier {
                                                           id: "env",
                                                           span: Span {
                                                            start: Position {
                                                             line: 372,
                                                             column: 56,
                                                            },
                                                            end: Position {
                                                             line: 372,
                                                             column: 59,
                                                            },
                                                           },
                                                          },
                                                         ),
                                                         attribute_path: [
                                                          Interpolation(
                                                           PartInterpolation {
                                                            expression: Identifier(
                                                             Identifier {
                                                              id: "n",
                                                              span: Span {
                                                               start: Position {
                                                                line: 372,
                                                                column: 62,
                                                               },
                                                               end: Position {
                                                                line: 372,
                                                                column: 63,
                                                               },
                                                              },
                                                             },
                                                            ),
                                                           },
                                                          ),
                                                         ],
                                                         default: None,
                                                        },
                                                       ),
                                                      },
                                                     ),
                                                    ],
                                                    span: Span {
                                                     start: Position {
                                                      line: 372,
                                                      column: 48,
                                                     },
                                                     end: Position {
                                                      line: 372,
                                                      column: 66,
                                                     },
                                                    },
                                                   },
                                                  ),
                                                 ],
                                                },
                                               ),
                                              },
                                             ),
                                             Raw(
                                              PartRaw {
                                               content: "\n",
                                               span: Span {
                                                start: Position {
                                                 line: 372,
                                                 column: 18,
                                                },
                                                end: Position {
                                                 line: 372,
                                                 column: 69,
                                                },
                                               },
                                              },
                                             ),
                                            ],
                                            span: Span {
                                             start: Position {
                                              line: 372,
                                              column: 17,
                                             },
                                             end: Position {
                                              line: 372,
                                              column: 70,
                                             },
                                            },
                                           },
                                          ),
                                         ],
                                        },
                                       ),
                                      },
                                     ),
                                    ],
                                    target: IfThenElse(
                                     IfThenElse {
                                      predicate: BinaryOperation(
                                       BinaryOperation {
                                        left: FunctionApplication(
                                         FunctionApplication {
                                          function: Identifier(
                                           Identifier {
                                            id: "stringLength",
                                            span: Span {
                                             start: Position {
                                              line: 375,
                                              column: 21,
                                             },
                                             end: Position {
                                              line: 375,
                                              column: 33,
                                             },
                                            },
                                           },
                                          ),
                                          arguments: [
                                           Identifier(
                                            Identifier {
                                             id: "s",
                                             span: Span {
                                              start: Position {
                                               line: 375,
                                               column: 34,
                                              },
                                              end: Position {
                                               line: 375,
                                               column: 35,
                                              },
                                             },
                                            },
                                           ),
                                          ],
                                         },
                                        ),
                                        operator: GreaterThanOrEqualTo,
                                        right: Integer(
                                         Integer {
                                          value: "1048576",
                                          span: Span {
                                           start: Position {
                                            line: 375,
                                            column: 39,
                                           },
                                           end: Position {
                                            line: 375,
                                            column: 46,
                                           },
                                          },
                                         },
                                        ),
                                       },
                                      ),
                                      then: FunctionApplication(
                                       FunctionApplication {
                                        function: Identifier(
                                         Identifier {
                                          id: "throw",
                                          span: Span {
                                           start: Position {
                                            line: 375,
                                            column: 52,
                                           },
                                           end: Position {
                                            line: 375,
                                            column: 57,
                                           },
                                          },
                                         },
                                        ),
                                        arguments: [
                                         String(
                                          String_ {
                                           parts: [
                                            Raw(
                                             PartRaw {
                                              content: "The value of the environment variable ‘",
                                              span: Span {
                                               start: Position {
                                                line: 375,
                                                column: 59,
                                               },
                                               end: Position {
                                                line: 375,
                                                column: 104,
                                               },
                                              },
                                             },
                                            ),
                                            Interpolation(
                                             PartInterpolation {
                                              expression: Identifier(
                                               Identifier {
                                                id: "n",
                                                span: Span {
                                                 start: Position {
                                                  line: 375,
                                                  column: 102,
                                                 },
                                                 end: Position {
                                                  line: 375,
                                                  column: 103,
                                                 },
                                                },
                                               },
                                              ),
                                             },
                                            ),
                                            Raw(
                                             PartRaw {
                                              content: "’ in systemd service ‘",
                                              span: Span {
                                               start: Position {
                                                line: 375,
                                                column: 59,
                                               },
                                               end: Position {
                                                line: 375,
                                                column: 130,
                                               },
                                              },
                                             },
                                            ),
                                            Interpolation(
                                             PartInterpolation {
                                              expression: Identifier(
                                               Identifier {
                                                id: "name",
                                                span: Span {
                                                 start: Position {
                                                  line: 375,
                                                  column: 132,
                                                 },
                                                 end: Position {
                                                  line: 375,
                                                  column: 136,
                                                 },
                                                },
                                               },
                                              ),
                                             },
                                            ),
                                            Raw(
                                             PartRaw {
                                              content: ".service’ is too long.",
                                              span: Span {
                                               start: Position {
                                                line: 375,
                                                column: 59,
                                               },
                                               end: Position {
                                                line: 375,
                                                column: 161,
                                               },
                                              },
                                             },
                                            ),
                                           ],
                                           span: Span {
                                            start: Position {
                                             line: 375,
                                             column: 58,
                                            },
                                            end: Position {
                                             line: 375,
                                             column: 162,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                       },
                                      ),
                                      else_: Identifier(
                                       Identifier {
                                        id: "s",
                                        span: Span {
                                         start: Position {
                                          line: 375,
                                          column: 168,
                                         },
                                         end: Position {
                                          line: 375,
                                          column: 169,
                                         },
                                        },
                                       },
                                      ),
                                      span: Span {
                                       start: Position {
                                        line: 375,
                                        column: 18,
                                       },
                                       end: Position {
                                        line: 375,
                                        column: 169,
                                       },
                                      },
                                     },
                                    ),
                                    span: Span {
                                     start: Position {
                                      line: 371,
                                      column: 15,
                                     },
                                     end: Position {
                                      line: 375,
                                      column: 169,
                                     },
                                    },
                                   },
                                  ),
                                  span: Span {
                                   start: Position {
                                    line: 370,
                                    column: 34,
                                   },
                                   end: Position {
                                    line: 375,
                                    column: 169,
                                   },
                                  },
                                 },
                                ),
                                FunctionApplication(
                                 FunctionApplication {
                                  function: Identifier(
                                   Identifier {
                                    id: "attrNames",
                                    span: Span {
                                     start: Position {
                                      line: 375,
                                      column: 172,
                                     },
                                     end: Position {
                                      line: 375,
                                      column: 181,
                                     },
                                    },
                                   },
                                  ),
                                  arguments: [
                                   Identifier(
                                    Identifier {
                                     id: "env",
                                     span: Span {
                                      start: Position {
                                       line: 375,
                                       column: 182,
                                      },
                                      end: Position {
                                       line: 375,
                                       column: 185,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                 },
                                ),
                               ],
                              },
                             ),
                             span: Span {
                              start: Position {
                               line: 369,
                               column: 13,
                              },
                              end: Position {
                               line: 375,
                               column: 186,
                              },
                             },
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 368,
                             column: 1,
                            },
                            end: Position {
                             line: 376,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: IfThenElse(
                            IfThenElse {
                             predicate: BinaryOperation(
                              BinaryOperation {
                               left: HasAttribute(
                                HasAttribute {
                                 expression: Identifier(
                                  Identifier {
                                   id: "def",
                                   span: Span {
                                    start: Position {
                                     line: 376,
                                     column: 16,
                                    },
                                    end: Position {
                                     line: 376,
                                     column: 19,
                                    },
                                   },
                                  },
                                 ),
                                 attribute_path: [
                                  Raw(
                                   PartRaw {
                                    content: "reloadIfChanged",
                                    span: Span {
                                     start: Position {
                                      line: 376,
                                      column: 22,
                                     },
                                     end: Position {
                                      line: 376,
                                      column: 37,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                },
                               ),
                               operator: LogicalAnd,
                               right: PropertyAccess(
                                PropertyAccess {
                                 expression: Identifier(
                                  Identifier {
                                   id: "def",
                                   span: Span {
                                    start: Position {
                                     line: 376,
                                     column: 41,
                                    },
                                    end: Position {
                                     line: 376,
                                     column: 44,
                                    },
                                   },
                                  },
                                 ),
                                 attribute_path: [
                                  Raw(
                                   PartRaw {
                                    content: "reloadIfChanged",
                                    span: Span {
                                     start: Position {
                                      line: 376,
                                      column: 45,
                                     },
                                     end: Position {
                                      line: 376,
                                      column: 60,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 default: None,
                                },
                               ),
                              },
                             ),
                             then: IndentedString(
                              IndentedString {
                               parts: [
                                Raw(
                                 PartRaw {
                                  content: "X-ReloadIfChanged=true\n",
                                  span: Span {
                                   start: Position {
                                    line: 377,
                                    column: 1,
                                   },
                                   end: Position {
                                    line: 378,
                                    column: 11,
                                   },
                                  },
                                 },
                                ),
                               ],
                               span: Span {
                                start: Position {
                                 line: 376,
                                 column: 66,
                                },
                                end: Position {
                                 line: 378,
                                 column: 13,
                                },
                               },
                              },
                             ),
                             else_: IfThenElse(
                              IfThenElse {
                               predicate: BinaryOperation(
                                BinaryOperation {
                                 left: HasAttribute(
                                  HasAttribute {
                                   expression: Identifier(
                                    Identifier {
                                     id: "def",
                                     span: Span {
                                      start: Position {
                                       line: 378,
                                       column: 23,
                                      },
                                      end: Position {
                                       line: 378,
                                       column: 26,
                                      },
                                     },
                                    },
                                   ),
                                   attribute_path: [
                                    Raw(
                                     PartRaw {
                                      content: "restartIfChanged",
                                      span: Span {
                                       start: Position {
                                        line: 378,
                                        column: 29,
                                       },
                                       end: Position {
                                        line: 378,
                                        column: 45,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                  },
                                 ),
                                 operator: LogicalAnd,
                                 right: UnaryOperation(
                                  UnaryOperation {
                                   operator: Not,
                                   operand: PropertyAccess(
                                    PropertyAccess {
                                     expression: Identifier(
                                      Identifier {
                                       id: "def",
                                       span: Span {
                                        start: Position {
                                         line: 378,
                                         column: 50,
                                        },
                                        end: Position {
                                         line: 378,
                                         column: 53,
                                        },
                                       },
                                      },
                                     ),
                                     attribute_path: [
                                      Raw(
                                       PartRaw {
                                        content: "restartIfChanged",
                                        span: Span {
                                         start: Position {
                                          line: 378,
                                          column: 54,
                                         },
                                         end: Position {
                                          line: 378,
                                          column: 70,
                                         },
                                        },
                                       },
                                      ),
                                     ],
                                     default: None,
                                    },
                                   ),
                                   span: Span {
                                    start: Position {
                                     line: 378,
                                     column: 49,
                                    },
                                    end: Position {
                                     line: 378,
                                     column: 70,
                                    },
                                   },
                                  },
                                 ),
                                },
                               ),
                               then: IndentedString(
                                IndentedString {
                                 parts: [
                                  Raw(
                                   PartRaw {
                                    content: "X-RestartIfChanged=false\n",
                                    span: Span {
                                     start: Position {
                                      line: 379,
                                      column: 1,
                                     },
                                     end: Position {
                                      line: 380,
                                      column: 11,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 span: Span {
                                  start: Position {
                                   line: 378,
                                   column: 77,
                                  },
                                  end: Position {
                                   line: 380,
                                   column: 13,
                                  },
                                 },
                                },
                               ),
                               else_: String(
                                String_ {
                                 parts: [],
                                 span: Span {
                                  start: Position {
                                   line: 380,
                                   column: 19,
                                  },
                                  end: Position {
                                   line: 380,
                                   column: 21,
                                  },
                                 },
                                },
                               ),
                               span: Span {
                                start: Position {
                                 line: 378,
                                 column: 19,
                                },
                                end: Position {
                                 line: 380,
                                 column: 21,
                                },
                               },
                              },
                             ),
                             span: Span {
                              start: Position {
                               line: 376,
                               column: 13,
                              },
                              end: Position {
                               line: 380,
                               column: 21,
                              },
                             },
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 368,
                             column: 1,
                            },
                            end: Position {
                             line: 381,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "optionalString",
                               span: Span {
                                start: Position {
                                 line: 381,
                                 column: 13,
                                },
                                end: Position {
                                 line: 381,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              BinaryOperation(
                               BinaryOperation {
                                left: HasAttribute(
                                 HasAttribute {
                                  expression: Identifier(
                                   Identifier {
                                    id: "def",
                                    span: Span {
                                     start: Position {
                                      line: 381,
                                      column: 29,
                                     },
                                     end: Position {
                                      line: 381,
                                      column: 32,
                                     },
                                    },
                                   },
                                  ),
                                  attribute_path: [
                                   Raw(
                                    PartRaw {
                                     content: "stopIfChanged",
                                     span: Span {
                                      start: Position {
                                       line: 381,
                                       column: 35,
                                      },
                                      end: Position {
                                       line: 381,
                                       column: 48,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                 },
                                ),
                                operator: LogicalAnd,
                                right: UnaryOperation(
                                 UnaryOperation {
                                  operator: Not,
                                  operand: PropertyAccess(
                                   PropertyAccess {
                                    expression: Identifier(
                                     Identifier {
                                      id: "def",
                                      span: Span {
                                       start: Position {
                                        line: 381,
                                        column: 53,
                                       },
                                       end: Position {
                                        line: 381,
                                        column: 56,
                                       },
                                      },
                                     },
                                    ),
                                    attribute_path: [
                                     Raw(
                                      PartRaw {
                                       content: "stopIfChanged",
                                       span: Span {
                                        start: Position {
                                         line: 381,
                                         column: 57,
                                        },
                                        end: Position {
                                         line: 381,
                                         column: 70,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    default: None,
                                   },
                                  ),
                                  span: Span {
                                   start: Position {
                                    line: 381,
                                    column: 52,
                                   },
                                   end: Position {
                                    line: 381,
                                    column: 70,
                                   },
                                  },
                                 },
                                ),
                               },
                              ),
                              String(
                               String_ {
                                parts: [
                                 Raw(
                                  PartRaw {
                                   content: "X-StopIfChanged=false",
                                   span: Span {
                                    start: Position {
                                     line: 381,
                                     column: 73,
                                    },
                                    end: Position {
                                     line: 381,
                                     column: 94,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                span: Span {
                                 start: Position {
                                  line: 381,
                                  column: 72,
                                 },
                                 end: Position {
                                  line: 381,
                                  column: 95,
                                 },
                                },
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 368,
                             column: 1,
                            },
                            end: Position {
                             line: 382,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "attrsToSection",
                               span: Span {
                                start: Position {
                                 line: 382,
                                 column: 13,
                                },
                                end: Position {
                                 line: 382,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "def",
                                  span: Span {
                                   start: Position {
                                    line: 382,
                                    column: 28,
                                   },
                                   end: Position {
                                    line: 382,
                                    column: 31,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "serviceConfig",
                                   span: Span {
                                    start: Position {
                                     line: 382,
                                     column: 32,
                                    },
                                    end: Position {
                                     line: 382,
                                     column: 45,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 368,
                             column: 1,
                            },
                            end: Position {
                             line: 383,
                             column: 9,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 367,
                          column: 9,
                         },
                         end: Position {
                          line: 383,
                          column: 11,
                         },
                        },
                       },
                      ),
                     },
                    ),
                   },
                  ),
                 ],
                 span: Span {
                  start: Position {
                   line: 365,
                   column: 5,
                  },
                  end: Position {
                   line: 384,
                   column: 6,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 364,
                 column: 25,
                },
                end: Position {
                 line: 384,
                 column: 6,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 364,
               column: 19,
              },
              end: Position {
               line: 384,
               column: 6,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "socketToUnit",
              span: Span {
               start: Position {
                line: 386,
                column: 3,
               },
               end: Position {
                line: 386,
                column: 15,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "def",
                },
               ),
               body: Map(
                Map {
                 recursive: false,
                 bindings: [
                  Inherit(
                   BindingInherit {
                    from: Some(
                     Identifier(
                      Identifier {
                       id: "def",
                       span: Span {
                        start: Position {
                         line: 387,
                         column: 16,
                        },
                        end: Position {
                         line: 387,
                         column: 19,
                        },
                       },
                      },
                     ),
                    ),
                    attributes: [
                     Raw(
                      PartRaw {
                       content: "aliases",
                       span: Span {
                        start: Position {
                         line: 387,
                         column: 21,
                        },
                        end: Position {
                         line: 387,
                         column: 28,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "wantedBy",
                       span: Span {
                        start: Position {
                         line: 387,
                         column: 29,
                        },
                        end: Position {
                         line: 387,
                         column: 37,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "requiredBy",
                       span: Span {
                        start: Position {
                         line: 387,
                         column: 38,
                        },
                        end: Position {
                         line: 387,
                         column: 48,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "enable",
                       span: Span {
                        start: Position {
                         line: 387,
                         column: 49,
                        },
                        end: Position {
                         line: 387,
                         column: 55,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "overrideStrategy",
                       span: Span {
                        start: Position {
                         line: 387,
                         column: 56,
                        },
                        end: Position {
                         line: 387,
                         column: 72,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 387,
                      column: 6,
                     },
                     end: Position {
                      line: 387,
                      column: 73,
                     },
                    },
                   },
                  ),
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "text",
                       span: Span {
                        start: Position {
                         line: 388,
                         column: 7,
                        },
                        end: Position {
                         line: 388,
                         column: 11,
                        },
                       },
                      },
                     ),
                    ],
                    to: BinaryOperation(
                     BinaryOperation {
                      left: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "commonUnitText",
                          span: Span {
                           start: Position {
                            line: 388,
                            column: 14,
                           },
                           end: Position {
                            line: 388,
                            column: 28,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Identifier(
                          Identifier {
                           id: "def",
                           span: Span {
                            start: Position {
                             line: 388,
                             column: 29,
                            },
                            end: Position {
                             line: 388,
                             column: 32,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                      operator: Addition,
                      right: IndentedString(
                       IndentedString {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "[Socket]\n",
                           span: Span {
                            start: Position {
                             line: 390,
                             column: 1,
                            },
                            end: Position {
                             line: 391,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "attrsToSection",
                               span: Span {
                                start: Position {
                                 line: 391,
                                 column: 13,
                                },
                                end: Position {
                                 line: 391,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "def",
                                  span: Span {
                                   start: Position {
                                    line: 391,
                                    column: 28,
                                   },
                                   end: Position {
                                    line: 391,
                                    column: 31,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "socketConfig",
                                   span: Span {
                                    start: Position {
                                     line: 391,
                                     column: 32,
                                    },
                                    end: Position {
                                     line: 391,
                                     column: 44,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 390,
                             column: 1,
                            },
                            end: Position {
                             line: 392,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "concatStringsSep",
                               span: Span {
                                start: Position {
                                 line: 392,
                                 column: 13,
                                },
                                end: Position {
                                 line: 392,
                                 column: 29,
                                },
                               },
                              },
                             ),
                             arguments: [
                              String(
                               String_ {
                                parts: [
                                 Raw(
                                  PartRaw {
                                   content: "\n",
                                   span: Span {
                                    start: Position {
                                     line: 392,
                                     column: 31,
                                    },
                                    end: Position {
                                     line: 392,
                                     column: 33,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                span: Span {
                                 start: Position {
                                  line: 392,
                                  column: 30,
                                 },
                                 end: Position {
                                  line: 392,
                                  column: 34,
                                 },
                                },
                               },
                              ),
                              FunctionApplication(
                               FunctionApplication {
                                function: Identifier(
                                 Identifier {
                                  id: "map",
                                  span: Span {
                                   start: Position {
                                    line: 392,
                                    column: 36,
                                   },
                                   end: Position {
                                    line: 392,
                                    column: 39,
                                   },
                                  },
                                 },
                                ),
                                arguments: [
                                 Function(
                                  Function {
                                   head: Simple(
                                    FunctionHeadSimple {
                                     identifier: "s",
                                    },
                                   ),
                                   body: String(
                                    String_ {
                                     parts: [
                                      Raw(
                                       PartRaw {
                                        content: "ListenStream=",
                                        span: Span {
                                         start: Position {
                                          line: 392,
                                          column: 45,
                                         },
                                         end: Position {
                                          line: 392,
                                          column: 62,
                                         },
                                        },
                                       },
                                      ),
                                      Interpolation(
                                       PartInterpolation {
                                        expression: Identifier(
                                         Identifier {
                                          id: "s",
                                          span: Span {
                                           start: Position {
                                            line: 392,
                                            column: 60,
                                           },
                                           end: Position {
                                            line: 392,
                                            column: 61,
                                           },
                                          },
                                         },
                                        ),
                                       },
                                      ),
                                     ],
                                     span: Span {
                                      start: Position {
                                       line: 392,
                                       column: 44,
                                      },
                                      end: Position {
                                       line: 392,
                                       column: 63,
                                      },
                                     },
                                    },
                                   ),
                                   span: Span {
                                    start: Position {
                                     line: 392,
                                     column: 41,
                                    },
                                    end: Position {
                                     line: 392,
                                     column: 63,
                                    },
                                   },
                                  },
                                 ),
                                 PropertyAccess(
                                  PropertyAccess {
                                   expression: Identifier(
                                    Identifier {
                                     id: "def",
                                     span: Span {
                                      start: Position {
                                       line: 392,
                                       column: 65,
                                      },
                                      end: Position {
                                       line: 392,
                                       column: 68,
                                      },
                                     },
                                    },
                                   ),
                                   attribute_path: [
                                    Raw(
                                     PartRaw {
                                      content: "listenStreams",
                                      span: Span {
                                       start: Position {
                                        line: 392,
                                        column: 69,
                                       },
                                       end: Position {
                                        line: 392,
                                        column: 82,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                   default: None,
                                  },
                                 ),
                                ],
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 390,
                             column: 1,
                            },
                            end: Position {
                             line: 393,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "concatStringsSep",
                               span: Span {
                                start: Position {
                                 line: 393,
                                 column: 13,
                                },
                                end: Position {
                                 line: 393,
                                 column: 29,
                                },
                               },
                              },
                             ),
                             arguments: [
                              String(
                               String_ {
                                parts: [
                                 Raw(
                                  PartRaw {
                                   content: "\n",
                                   span: Span {
                                    start: Position {
                                     line: 393,
                                     column: 31,
                                    },
                                    end: Position {
                                     line: 393,
                                     column: 33,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                span: Span {
                                 start: Position {
                                  line: 393,
                                  column: 30,
                                 },
                                 end: Position {
                                  line: 393,
                                  column: 34,
                                 },
                                },
                               },
                              ),
                              FunctionApplication(
                               FunctionApplication {
                                function: Identifier(
                                 Identifier {
                                  id: "map",
                                  span: Span {
                                   start: Position {
                                    line: 393,
                                    column: 36,
                                   },
                                   end: Position {
                                    line: 393,
                                    column: 39,
                                   },
                                  },
                                 },
                                ),
                                arguments: [
                                 Function(
                                  Function {
                                   head: Simple(
                                    FunctionHeadSimple {
                                     identifier: "s",
                                    },
                                   ),
                                   body: String(
                                    String_ {
                                     parts: [
                                      Raw(
                                       PartRaw {
                                        content: "ListenDatagram=",
                                        span: Span {
                                         start: Position {
                                          line: 393,
                                          column: 45,
                                         },
                                         end: Position {
                                          line: 393,
                                          column: 64,
                                         },
                                        },
                                       },
                                      ),
                                      Interpolation(
                                       PartInterpolation {
                                        expression: Identifier(
                                         Identifier {
                                          id: "s",
                                          span: Span {
                                           start: Position {
                                            line: 393,
                                            column: 62,
                                           },
                                           end: Position {
                                            line: 393,
                                            column: 63,
                                           },
                                          },
                                         },
                                        ),
                                       },
                                      ),
                                     ],
                                     span: Span {
                                      start: Position {
                                       line: 393,
                                       column: 44,
                                      },
                                      end: Position {
                                       line: 393,
                                       column: 65,
                                      },
                                     },
                                    },
                                   ),
                                   span: Span {
                                    start: Position {
                                     line: 393,
                                     column: 41,
                                    },
                                    end: Position {
                                     line: 393,
                                     column: 65,
                                    },
                                   },
                                  },
                                 ),
                                 PropertyAccess(
                                  PropertyAccess {
                                   expression: Identifier(
                                    Identifier {
                                     id: "def",
                                     span: Span {
                                      start: Position {
                                       line: 393,
                                       column: 67,
                                      },
                                      end: Position {
                                       line: 393,
                                       column: 70,
                                      },
                                     },
                                    },
                                   ),
                                   attribute_path: [
                                    Raw(
                                     PartRaw {
                                      content: "listenDatagrams",
                                      span: Span {
                                       start: Position {
                                        line: 393,
                                        column: 71,
                                       },
                                       end: Position {
                                        line: 393,
                                        column: 86,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                   default: None,
                                  },
                                 ),
                                ],
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 390,
                             column: 1,
                            },
                            end: Position {
                             line: 394,
                             column: 9,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 389,
                          column: 9,
                         },
                         end: Position {
                          line: 394,
                          column: 11,
                         },
                        },
                       },
                      ),
                     },
                    ),
                   },
                  ),
                 ],
                 span: Span {
                  start: Position {
                   line: 387,
                   column: 5,
                  },
                  end: Position {
                   line: 395,
                   column: 6,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 386,
                 column: 24,
                },
                end: Position {
                 line: 395,
                 column: 6,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 386,
               column: 18,
              },
              end: Position {
               line: 395,
               column: 6,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "timerToUnit",
              span: Span {
               start: Position {
                line: 397,
                column: 3,
               },
               end: Position {
                line: 397,
                column: 14,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "def",
                },
               ),
               body: Map(
                Map {
                 recursive: false,
                 bindings: [
                  Inherit(
                   BindingInherit {
                    from: Some(
                     Identifier(
                      Identifier {
                       id: "def",
                       span: Span {
                        start: Position {
                         line: 398,
                         column: 16,
                        },
                        end: Position {
                         line: 398,
                         column: 19,
                        },
                       },
                      },
                     ),
                    ),
                    attributes: [
                     Raw(
                      PartRaw {
                       content: "aliases",
                       span: Span {
                        start: Position {
                         line: 398,
                         column: 21,
                        },
                        end: Position {
                         line: 398,
                         column: 28,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "wantedBy",
                       span: Span {
                        start: Position {
                         line: 398,
                         column: 29,
                        },
                        end: Position {
                         line: 398,
                         column: 37,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "requiredBy",
                       span: Span {
                        start: Position {
                         line: 398,
                         column: 38,
                        },
                        end: Position {
                         line: 398,
                         column: 48,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "enable",
                       span: Span {
                        start: Position {
                         line: 398,
                         column: 49,
                        },
                        end: Position {
                         line: 398,
                         column: 55,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "overrideStrategy",
                       span: Span {
                        start: Position {
                         line: 398,
                         column: 56,
                        },
                        end: Position {
                         line: 398,
                         column: 72,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 398,
                      column: 6,
                     },
                     end: Position {
                      line: 398,
                      column: 73,
                     },
                    },
                   },
                  ),
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "text",
                       span: Span {
                        start: Position {
                         line: 399,
                         column: 7,
                        },
                        end: Position {
                         line: 399,
                         column: 11,
                        },
                       },
                      },
                     ),
                    ],
                    to: BinaryOperation(
                     BinaryOperation {
                      left: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "commonUnitText",
                          span: Span {
                           start: Position {
                            line: 399,
                            column: 14,
                           },
                           end: Position {
                            line: 399,
                            column: 28,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Identifier(
                          Identifier {
                           id: "def",
                           span: Span {
                            start: Position {
                             line: 399,
                             column: 29,
                            },
                            end: Position {
                             line: 399,
                             column: 32,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                      operator: Addition,
                      right: IndentedString(
                       IndentedString {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "[Timer]\n",
                           span: Span {
                            start: Position {
                             line: 401,
                             column: 1,
                            },
                            end: Position {
                             line: 402,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "attrsToSection",
                               span: Span {
                                start: Position {
                                 line: 402,
                                 column: 13,
                                },
                                end: Position {
                                 line: 402,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "def",
                                  span: Span {
                                   start: Position {
                                    line: 402,
                                    column: 28,
                                   },
                                   end: Position {
                                    line: 402,
                                    column: 31,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "timerConfig",
                                   span: Span {
                                    start: Position {
                                     line: 402,
                                     column: 32,
                                    },
                                    end: Position {
                                     line: 402,
                                     column: 43,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 401,
                             column: 1,
                            },
                            end: Position {
                             line: 403,
                             column: 9,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 400,
                          column: 9,
                         },
                         end: Position {
                          line: 403,
                          column: 11,
                         },
                        },
                       },
                      ),
                     },
                    ),
                   },
                  ),
                 ],
                 span: Span {
                  start: Position {
                   line: 398,
                   column: 5,
                  },
                  end: Position {
                   line: 404,
                   column: 6,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 397,
                 column: 23,
                },
                end: Position {
                 line: 404,
                 column: 6,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 397,
               column: 17,
              },
              end: Position {
               line: 404,
               column: 6,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "pathToUnit",
              span: Span {
               start: Position {
                line: 406,
                column: 3,
               },
               end: Position {
                line: 406,
                column: 13,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "def",
                },
               ),
               body: Map(
                Map {
                 recursive: false,
                 bindings: [
                  Inherit(
                   BindingInherit {
                    from: Some(
                     Identifier(
                      Identifier {
                       id: "def",
                       span: Span {
                        start: Position {
                         line: 407,
                         column: 16,
                        },
                        end: Position {
                         line: 407,
                         column: 19,
                        },
                       },
                      },
                     ),
                    ),
                    attributes: [
                     Raw(
                      PartRaw {
                       content: "aliases",
                       span: Span {
                        start: Position {
                         line: 407,
                         column: 21,
                        },
                        end: Position {
                         line: 407,
                         column: 28,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "wantedBy",
                       span: Span {
                        start: Position {
                         line: 407,
                         column: 29,
                        },
                        end: Position {
                         line: 407,
                         column: 37,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "requiredBy",
                       span: Span {
                        start: Position {
                         line: 407,
                         column: 38,
                        },
                        end: Position {
                         line: 407,
                         column: 48,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "enable",
                       span: Span {
                        start: Position {
                         line: 407,
                         column: 49,
                        },
                        end: Position {
                         line: 407,
                         column: 55,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "overrideStrategy",
                       span: Span {
                        start: Position {
                         line: 407,
                         column: 56,
                        },
                        end: Position {
                         line: 407,
                         column: 72,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 407,
                      column: 6,
                     },
                     end: Position {
                      line: 407,
                      column: 73,
                     },
                    },
                   },
                  ),
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "text",
                       span: Span {
                        start: Position {
                         line: 408,
                         column: 7,
                        },
                        end: Position {
                         line: 408,
                         column: 11,
                        },
                       },
                      },
                     ),
                    ],
                    to: BinaryOperation(
                     BinaryOperation {
                      left: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "commonUnitText",
                          span: Span {
                           start: Position {
                            line: 408,
                            column: 14,
                           },
                           end: Position {
                            line: 408,
                            column: 28,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Identifier(
                          Identifier {
                           id: "def",
                           span: Span {
                            start: Position {
                             line: 408,
                             column: 29,
                            },
                            end: Position {
                             line: 408,
                             column: 32,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                      operator: Addition,
                      right: IndentedString(
                       IndentedString {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "[Path]\n",
                           span: Span {
                            start: Position {
                             line: 410,
                             column: 1,
                            },
                            end: Position {
                             line: 411,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "attrsToSection",
                               span: Span {
                                start: Position {
                                 line: 411,
                                 column: 13,
                                },
                                end: Position {
                                 line: 411,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "def",
                                  span: Span {
                                   start: Position {
                                    line: 411,
                                    column: 28,
                                   },
                                   end: Position {
                                    line: 411,
                                    column: 31,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "pathConfig",
                                   span: Span {
                                    start: Position {
                                     line: 411,
                                     column: 32,
                                    },
                                    end: Position {
                                     line: 411,
                                     column: 42,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 410,
                             column: 1,
                            },
                            end: Position {
                             line: 412,
                             column: 9,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 409,
                          column: 9,
                         },
                         end: Position {
                          line: 412,
                          column: 11,
                         },
                        },
                       },
                      ),
                     },
                    ),
                   },
                  ),
                 ],
                 span: Span {
                  start: Position {
                   line: 407,
                   column: 5,
                  },
                  end: Position {
                   line: 413,
                   column: 6,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 406,
                 column: 22,
                },
                end: Position {
                 line: 413,
                 column: 6,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 406,
               column: 16,
              },
              end: Position {
               line: 413,
               column: 6,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "mountToUnit",
              span: Span {
               start: Position {
                line: 415,
                column: 3,
               },
               end: Position {
                line: 415,
                column: 14,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "def",
                },
               ),
               body: Map(
                Map {
                 recursive: false,
                 bindings: [
                  Inherit(
                   BindingInherit {
                    from: Some(
                     Identifier(
                      Identifier {
                       id: "def",
                       span: Span {
                        start: Position {
                         line: 416,
                         column: 16,
                        },
                        end: Position {
                         line: 416,
                         column: 19,
                        },
                       },
                      },
                     ),
                    ),
                    attributes: [
                     Raw(
                      PartRaw {
                       content: "aliases",
                       span: Span {
                        start: Position {
                         line: 416,
                         column: 21,
                        },
                        end: Position {
                         line: 416,
                         column: 28,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "wantedBy",
                       span: Span {
                        start: Position {
                         line: 416,
                         column: 29,
                        },
                        end: Position {
                         line: 416,
                         column: 37,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "requiredBy",
                       span: Span {
                        start: Position {
                         line: 416,
                         column: 38,
                        },
                        end: Position {
                         line: 416,
                         column: 48,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "enable",
                       span: Span {
                        start: Position {
                         line: 416,
                         column: 49,
                        },
                        end: Position {
                         line: 416,
                         column: 55,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "overrideStrategy",
                       span: Span {
                        start: Position {
                         line: 416,
                         column: 56,
                        },
                        end: Position {
                         line: 416,
                         column: 72,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 416,
                      column: 6,
                     },
                     end: Position {
                      line: 416,
                      column: 73,
                     },
                    },
                   },
                  ),
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "text",
                       span: Span {
                        start: Position {
                         line: 417,
                         column: 7,
                        },
                        end: Position {
                         line: 417,
                         column: 11,
                        },
                       },
                      },
                     ),
                    ],
                    to: BinaryOperation(
                     BinaryOperation {
                      left: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "commonUnitText",
                          span: Span {
                           start: Position {
                            line: 417,
                            column: 14,
                           },
                           end: Position {
                            line: 417,
                            column: 28,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Identifier(
                          Identifier {
                           id: "def",
                           span: Span {
                            start: Position {
                             line: 417,
                             column: 29,
                            },
                            end: Position {
                             line: 417,
                             column: 32,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                      operator: Addition,
                      right: IndentedString(
                       IndentedString {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "[Mount]\n",
                           span: Span {
                            start: Position {
                             line: 419,
                             column: 1,
                            },
                            end: Position {
                             line: 420,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "attrsToSection",
                               span: Span {
                                start: Position {
                                 line: 420,
                                 column: 13,
                                },
                                end: Position {
                                 line: 420,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "def",
                                  span: Span {
                                   start: Position {
                                    line: 420,
                                    column: 28,
                                   },
                                   end: Position {
                                    line: 420,
                                    column: 31,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "mountConfig",
                                   span: Span {
                                    start: Position {
                                     line: 420,
                                     column: 32,
                                    },
                                    end: Position {
                                     line: 420,
                                     column: 43,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 419,
                             column: 1,
                            },
                            end: Position {
                             line: 421,
                             column: 9,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 418,
                          column: 9,
                         },
                         end: Position {
                          line: 421,
                          column: 11,
                         },
                        },
                       },
                      ),
                     },
                    ),
                   },
                  ),
                 ],
                 span: Span {
                  start: Position {
                   line: 416,
                   column: 5,
                  },
                  end: Position {
                   line: 422,
                   column: 6,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 415,
                 column: 23,
                },
                end: Position {
                 line: 422,
                 column: 6,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 415,
               column: 17,
              },
              end: Position {
               line: 422,
               column: 6,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "automountToUnit",
              span: Span {
               start: Position {
                line: 424,
                column: 3,
               },
               end: Position {
                line: 424,
                column: 18,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "def",
                },
               ),
               body: Map(
                Map {
                 recursive: false,
                 bindings: [
                  Inherit(
                   BindingInherit {
                    from: Some(
                     Identifier(
                      Identifier {
                       id: "def",
                       span: Span {
                        start: Position {
                         line: 425,
                         column: 16,
                        },
                        end: Position {
                         line: 425,
                         column: 19,
                        },
                       },
                      },
                     ),
                    ),
                    attributes: [
                     Raw(
                      PartRaw {
                       content: "aliases",
                       span: Span {
                        start: Position {
                         line: 425,
                         column: 21,
                        },
                        end: Position {
                         line: 425,
                         column: 28,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "wantedBy",
                       span: Span {
                        start: Position {
                         line: 425,
                         column: 29,
                        },
                        end: Position {
                         line: 425,
                         column: 37,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "requiredBy",
                       span: Span {
                        start: Position {
                         line: 425,
                         column: 38,
                        },
                        end: Position {
                         line: 425,
                         column: 48,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "enable",
                       span: Span {
                        start: Position {
                         line: 425,
                         column: 49,
                        },
                        end: Position {
                         line: 425,
                         column: 55,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "overrideStrategy",
                       span: Span {
                        start: Position {
                         line: 425,
                         column: 56,
                        },
                        end: Position {
                         line: 425,
                         column: 72,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 425,
                      column: 6,
                     },
                     end: Position {
                      line: 425,
                      column: 73,
                     },
                    },
                   },
                  ),
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "text",
                       span: Span {
                        start: Position {
                         line: 426,
                         column: 7,
                        },
                        end: Position {
                         line: 426,
                         column: 11,
                        },
                       },
                      },
                     ),
                    ],
                    to: BinaryOperation(
                     BinaryOperation {
                      left: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "commonUnitText",
                          span: Span {
                           start: Position {
                            line: 426,
                            column: 14,
                           },
                           end: Position {
                            line: 426,
                            column: 28,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Identifier(
                          Identifier {
                           id: "def",
                           span: Span {
                            start: Position {
                             line: 426,
                             column: 29,
                            },
                            end: Position {
                             line: 426,
                             column: 32,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                      operator: Addition,
                      right: IndentedString(
                       IndentedString {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "[Automount]\n",
                           span: Span {
                            start: Position {
                             line: 428,
                             column: 1,
                            },
                            end: Position {
                             line: 429,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "attrsToSection",
                               span: Span {
                                start: Position {
                                 line: 429,
                                 column: 13,
                                },
                                end: Position {
                                 line: 429,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "def",
                                  span: Span {
                                   start: Position {
                                    line: 429,
                                    column: 28,
                                   },
                                   end: Position {
                                    line: 429,
                                    column: 31,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "automountConfig",
                                   span: Span {
                                    start: Position {
                                     line: 429,
                                     column: 32,
                                    },
                                    end: Position {
                                     line: 429,
                                     column: 47,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 428,
                             column: 1,
                            },
                            end: Position {
                             line: 430,
                             column: 9,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 427,
                          column: 9,
                         },
                         end: Position {
                          line: 430,
                          column: 11,
                         },
                        },
                       },
                      ),
                     },
                    ),
                   },
                  ),
                 ],
                 span: Span {
                  start: Position {
                   line: 425,
                   column: 5,
                  },
                  end: Position {
                   line: 431,
                   column: 6,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 424,
                 column: 27,
                },
                end: Position {
                 line: 431,
                 column: 6,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 424,
               column: 21,
              },
              end: Position {
               line: 431,
               column: 6,
              },
             },
            },
           ),
          },
         ),
         KeyValue(
          BindingKeyValue {
           from: [
            Raw(
             PartRaw {
              content: "sliceToUnit",
              span: Span {
               start: Position {
                line: 433,
                column: 3,
               },
               end: Position {
                line: 433,
                column: 14,
               },
              },
             },
            ),
           ],
           to: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "name",
              },
             ),
             body: Function(
              Function {
               head: Simple(
                FunctionHeadSimple {
                 identifier: "def",
                },
               ),
               body: Map(
                Map {
                 recursive: false,
                 bindings: [
                  Inherit(
                   BindingInherit {
                    from: Some(
                     Identifier(
                      Identifier {
                       id: "def",
                       span: Span {
                        start: Position {
                         line: 434,
                         column: 16,
                        },
                        end: Position {
                         line: 434,
                         column: 19,
                        },
                       },
                      },
                     ),
                    ),
                    attributes: [
                     Raw(
                      PartRaw {
                       content: "aliases",
                       span: Span {
                        start: Position {
                         line: 434,
                         column: 21,
                        },
                        end: Position {
                         line: 434,
                         column: 28,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "wantedBy",
                       span: Span {
                        start: Position {
                         line: 434,
                         column: 29,
                        },
                        end: Position {
                         line: 434,
                         column: 37,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "requiredBy",
                       span: Span {
                        start: Position {
                         line: 434,
                         column: 38,
                        },
                        end: Position {
                         line: 434,
                         column: 48,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "enable",
                       span: Span {
                        start: Position {
                         line: 434,
                         column: 49,
                        },
                        end: Position {
                         line: 434,
                         column: 55,
                        },
                       },
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "overrideStrategy",
                       span: Span {
                        start: Position {
                         line: 434,
                         column: 56,
                        },
                        end: Position {
                         line: 434,
                         column: 72,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 434,
                      column: 6,
                     },
                     end: Position {
                      line: 434,
                      column: 73,
                     },
                    },
                   },
                  ),
                  KeyValue(
                   BindingKeyValue {
                    from: [
                     Raw(
                      PartRaw {
                       content: "text",
                       span: Span {
                        start: Position {
                         line: 435,
                         column: 7,
                        },
                        end: Position {
                         line: 435,
                         column: 11,
                        },
                       },
                      },
                     ),
                    ],
                    to: BinaryOperation(
                     BinaryOperation {
                      left: FunctionApplication(
                       FunctionApplication {
                        function: Identifier(
                         Identifier {
                          id: "commonUnitText",
                          span: Span {
                           start: Position {
                            line: 435,
                            column: 14,
                           },
                           end: Position {
                            line: 435,
                            column: 28,
                           },
                          },
                         },
                        ),
                        arguments: [
                         Identifier(
                          Identifier {
                           id: "def",
                           span: Span {
                            start: Position {
                             line: 435,
                             column: 29,
                            },
                            end: Position {
                             line: 435,
                             column: 32,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                      operator: Addition,
                      right: IndentedString(
                       IndentedString {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "[Slice]\n",
                           span: Span {
                            start: Position {
                             line: 437,
                             column: 1,
                            },
                            end: Position {
                             line: 438,
                             column: 11,
                            },
                           },
                          },
                         ),
                         Interpolation(
                          PartInterpolation {
                           expression: FunctionApplication(
                            FunctionApplication {
                             function: Identifier(
                              Identifier {
                               id: "attrsToSection",
                               span: Span {
                                start: Position {
                                 line: 438,
                                 column: 13,
                                },
                                end: Position {
                                 line: 438,
                                 column: 27,
                                },
                               },
                              },
                             ),
                             arguments: [
                              PropertyAccess(
                               PropertyAccess {
                                expression: Identifier(
                                 Identifier {
                                  id: "def",
                                  span: Span {
                                   start: Position {
                                    line: 438,
                                    column: 28,
                                   },
                                   end: Position {
                                    line: 438,
                                    column: 31,
                                   },
                                  },
                                 },
                                ),
                                attribute_path: [
                                 Raw(
                                  PartRaw {
                                   content: "sliceConfig",
                                   span: Span {
                                    start: Position {
                                     line: 438,
                                     column: 32,
                                    },
                                    end: Position {
                                     line: 438,
                                     column: 43,
                                    },
                                   },
                                  },
                                 ),
                                ],
                                default: None,
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         Raw(
                          PartRaw {
                           content: "\n",
                           span: Span {
                            start: Position {
                             line: 437,
                             column: 1,
                            },
                            end: Position {
                             line: 439,
                             column: 9,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 436,
                          column: 9,
                         },
                         end: Position {
                          line: 439,
                          column: 11,
                         },
                        },
                       },
                      ),
                     },
                    ),
                   },
                  ),
                 ],
                 span: Span {
                  start: Position {
                   line: 434,
                   column: 5,
                  },
                  end: Position {
                   line: 440,
                   column: 6,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 433,
                 column: 23,
                },
                end: Position {
                 line: 440,
                 column: 6,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 433,
               column: 17,
              },
              end: Position {
               line: 440,
               column: 6,
              },
             },
            },
           ),
          },
         ),
        ],
        span: Span {
         start: Position {
          line: 9,
          column: 4,
         },
         end: Position {
          line: 441,
          column: 2,
         },
        },
       },
      ),
      span: Span {
       start: Position {
        line: 5,
        column: 1,
       },
       end: Position {
        line: 441,
        column: 2,
       },
      },
     },
    ),
    span: Span {
     start: Position {
      line: 3,
      column: 1,
     },
     end: Position {
      line: 441,
      column: 2,
     },
    },
   },
  ),
  span: Span {
   start: Position {
    line: 1,
    column: 1,
   },
   end: Position {
    line: 441,
    column: 2,
   },
  },
 },
)