Function(
 Function {
  head: Destructured(
   FunctionHeadDestructured {
    ellipsis: false,
    identifier: None,
    arguments: [
     FunctionHeadDestructuredArgument {
      identifier: "package",
      default: Some(
       Identifier(
        Identifier {
         id: "null",
         span: Span {
          start: Position {
           line: 1,
           column: 13,
          },
          end: Position {
           line: 1,
           column: 17,
          },
         },
        },
       ),
      ),
     },
     FunctionHeadDestructuredArgument {
      identifier: "maintainer",
      default: Some(
       Identifier(
        Identifier {
         id: "null",
         span: Span {
          start: Position {
           line: 2,
           column: 16,
          },
          end: Position {
           line: 2,
           column: 20,
          },
         },
        },
       ),
      ),
     },
     FunctionHeadDestructuredArgument {
      identifier: "predicate",
      default: Some(
       Identifier(
        Identifier {
         id: "null",
         span: Span {
          start: Position {
           line: 3,
           column: 15,
          },
          end: Position {
           line: 3,
           column: 19,
          },
         },
        },
       ),
      ),
     },
     FunctionHeadDestructuredArgument {
      identifier: "path",
      default: Some(
       Identifier(
        Identifier {
         id: "null",
         span: Span {
          start: Position {
           line: 4,
           column: 10,
          },
          end: Position {
           line: 4,
           column: 14,
          },
         },
        },
       ),
      ),
     },
     FunctionHeadDestructuredArgument {
      identifier: "max-workers",
      default: Some(
       Identifier(
        Identifier {
         id: "null",
         span: Span {
          start: Position {
           line: 5,
           column: 17,
          },
          end: Position {
           line: 5,
           column: 21,
          },
         },
        },
       ),
      ),
     },
     FunctionHeadDestructuredArgument {
      identifier: "include-overlays",
      default: Some(
       Identifier(
        Identifier {
         id: "false",
         span: Span {
          start: Position {
           line: 6,
           column: 22,
          },
          end: Position {
           line: 6,
           column: 27,
          },
         },
        },
       ),
      ),
     },
     FunctionHeadDestructuredArgument {
      identifier: "keep-going",
      default: Some(
       Identifier(
        Identifier {
         id: "null",
         span: Span {
          start: Position {
           line: 7,
           column: 16,
          },
          end: Position {
           line: 7,
           column: 20,
          },
         },
        },
       ),
      ),
     },
     FunctionHeadDestructuredArgument {
      identifier: "commit",
      default: Some(
       Identifier(
        Identifier {
         id: "null",
         span: Span {
          start: Position {
           line: 8,
           column: 12,
          },
          end: Position {
           line: 8,
           column: 16,
          },
         },
        },
       ),
      ),
     },
    ],
   },
  ),
  body: LetIn(
   LetIn {
    bindings: [
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "pkgs",
          span: Span {
           start: Position {
            line: 14,
            column: 3,
           },
           end: Position {
            line: 14,
            column: 7,
           },
          },
         },
        ),
       ],
       to: FunctionApplication(
        FunctionApplication {
         function: Identifier(
          Identifier {
           id: "import",
           span: Span {
            start: Position {
             line: 14,
             column: 10,
            },
            end: Position {
             line: 14,
             column: 16,
            },
           },
          },
         ),
         arguments: [
          Path(
           Path {
            parts: [
             Raw(
              PartRaw {
               content: "./../../default.nix",
               span: Span {
                start: Position {
                 line: 14,
                 column: 17,
                },
                end: Position {
                 line: 14,
                 column: 36,
                },
               },
              },
             ),
            ],
            span: Span {
             start: Position {
              line: 14,
              column: 17,
             },
             end: Position {
              line: 14,
              column: 36,
             },
            },
           },
          ),
          IfThenElse(
           IfThenElse {
            predicate: BinaryOperation(
             BinaryOperation {
              left: Identifier(
               Identifier {
                id: "include-overlays",
                span: Span {
                 start: Position {
                  line: 15,
                  column: 8,
                 },
                 end: Position {
                  line: 15,
                  column: 24,
                 },
                },
               },
              ),
              operator: EqualTo,
              right: Identifier(
               Identifier {
                id: "false",
                span: Span {
                 start: Position {
                  line: 15,
                  column: 28,
                 },
                 end: Position {
                  line: 15,
                  column: 33,
                 },
                },
               },
              ),
             },
            ),
            then: Map(
             Map {
              recursive: false,
              bindings: [
               KeyValue(
                BindingKeyValue {
                 from: [
                  Raw(
                   PartRaw {
                    content: "overlays",
                    span: Span {
                     start: Position {
                      line: 16,
                      column: 9,
                     },
                     end: Position {
                      line: 16,
                      column: 17,
                     },
                    },
                   },
                  ),
                 ],
                 to: List(
                  List {
                   elements: [],
                   span: Span {
                    start: Position {
                     line: 16,
                     column: 20,
                    },
                    end: Position {
                     line: 16,
                     column: 22,
                    },
                   },
                  },
                 ),
                },
               ),
              ],
              span: Span {
               start: Position {
                line: 16,
                column: 7,
               },
               end: Position {
                line: 16,
                column: 25,
               },
              },
             },
            ),
            else_: IfThenElse(
             IfThenElse {
              predicate: BinaryOperation(
               BinaryOperation {
                left: Identifier(
                 Identifier {
                  id: "include-overlays",
                  span: Span {
                   start: Position {
                    line: 17,
                    column: 13,
                   },
                   end: Position {
                    line: 17,
                    column: 29,
                   },
                  },
                 },
                ),
                operator: EqualTo,
                right: Identifier(
                 Identifier {
                  id: "true",
                  span: Span {
                   start: Position {
                    line: 17,
                    column: 33,
                   },
                   end: Position {
                    line: 17,
                    column: 37,
                   },
                  },
                 },
                ),
               },
              ),
              then: Map(
               Map {
                recursive: false,
                bindings: [],
                span: Span {
                 start: Position {
                  line: 18,
                  column: 7,
                 },
                 end: Position {
                  line: 18,
                  column: 10,
                 },
                },
               },
              ),
              else_: Map(
               Map {
                recursive: false,
                bindings: [
                 KeyValue(
                  BindingKeyValue {
                   from: [
                    Raw(
                     PartRaw {
                      content: "overlays",
                      span: Span {
                       start: Position {
                        line: 19,
                        column: 12,
                       },
                       end: Position {
                        line: 19,
                        column: 20,
                       },
                      },
                     },
                    ),
                   ],
                   to: Identifier(
                    Identifier {
                     id: "include-overlays",
                     span: Span {
                      start: Position {
                       line: 19,
                       column: 23,
                      },
                      end: Position {
                       line: 19,
                       column: 39,
                      },
                     },
                    },
                   ),
                  },
                 ),
                ],
                span: Span {
                 start: Position {
                  line: 19,
                  column: 10,
                 },
                 end: Position {
                  line: 19,
                  column: 42,
                 },
                },
               },
              ),
              span: Span {
               start: Position {
                line: 17,
                column: 10,
               },
               end: Position {
                line: 19,
                column: 42,
               },
              },
             },
            ),
            span: Span {
             start: Position {
              line: 15,
              column: 5,
             },
             end: Position {
              line: 19,
              column: 42,
             },
            },
           },
          ),
         ],
        },
       ),
      },
     ),
     Inherit(
      BindingInherit {
       from: Some(
        Identifier(
         Identifier {
          id: "pkgs",
          span: Span {
           start: Position {
            line: 22,
            column: 12,
           },
           end: Position {
            line: 22,
            column: 16,
           },
          },
         },
        ),
       ),
       attributes: [
        Raw(
         PartRaw {
          content: "lib",
          span: Span {
           start: Position {
            line: 22,
            column: 18,
           },
           end: Position {
            line: 22,
            column: 21,
           },
          },
         },
        ),
       ],
       span: Span {
        start: Position {
         line: 13,
         column: 4,
        },
        end: Position {
         line: 22,
         column: 22,
        },
       },
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "nubOn",
          span: Span {
           start: Position {
            line: 26,
            column: 3,
           },
           end: Position {
            line: 26,
            column: 8,
           },
          },
         },
        ),
       ],
       to: Function(
        Function {
         head: Simple(
          FunctionHeadSimple {
           identifier: "f",
          },
         ),
         body: Function(
          Function {
           head: Simple(
            FunctionHeadSimple {
             identifier: "list",
            },
           ),
           body: IfThenElse(
            IfThenElse {
             predicate: BinaryOperation(
              BinaryOperation {
               left: Identifier(
                Identifier {
                 id: "list",
                 span: Span {
                  start: Position {
                   line: 27,
                   column: 8,
                  },
                  end: Position {
                   line: 27,
                   column: 12,
                  },
                 },
                },
               ),
               operator: EqualTo,
               right: List(
                List {
                 elements: [],
                 span: Span {
                  start: Position {
                   line: 27,
                   column: 16,
                  },
                  end: Position {
                   line: 27,
                   column: 18,
                  },
                 },
                },
               ),
              },
             ),
             then: List(
              List {
               elements: [],
               span: Span {
                start: Position {
                 line: 28,
                 column: 7,
                },
                end: Position {
                 line: 28,
                 column: 9,
                },
               },
              },
             ),
             else_: LetIn(
              LetIn {
               bindings: [
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "x",
                     span: Span {
                      start: Position {
                       line: 31,
                       column: 9,
                      },
                      end: Position {
                       line: 31,
                       column: 10,
                      },
                     },
                    },
                   ),
                  ],
                  to: FunctionApplication(
                   FunctionApplication {
                    function: PropertyAccess(
                     PropertyAccess {
                      expression: Identifier(
                       Identifier {
                        id: "lib",
                        span: Span {
                         start: Position {
                          line: 31,
                          column: 13,
                         },
                         end: Position {
                          line: 31,
                          column: 16,
                         },
                        },
                       },
                      ),
                      attribute_path: [
                       Raw(
                        PartRaw {
                         content: "head",
                         span: Span {
                          start: Position {
                           line: 31,
                           column: 17,
                          },
                          end: Position {
                           line: 31,
                           column: 21,
                          },
                         },
                        },
                       ),
                      ],
                      default: None,
                     },
                    ),
                    arguments: [
                     Identifier(
                      Identifier {
                       id: "list",
                       span: Span {
                        start: Position {
                         line: 31,
                         column: 22,
                        },
                        end: Position {
                         line: 31,
                         column: 26,
                        },
                       },
                      },
                     ),
                    ],
                   },
                  ),
                 },
                ),
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "xs",
                     span: Span {
                      start: Position {
                       line: 32,
                       column: 9,
                      },
                      end: Position {
                       line: 32,
                       column: 11,
                      },
                     },
                    },
                   ),
                  ],
                  to: FunctionApplication(
                   FunctionApplication {
                    function: PropertyAccess(
                     PropertyAccess {
                      expression: Identifier(
                       Identifier {
                        id: "lib",
                        span: Span {
                         start: Position {
                          line: 32,
                          column: 14,
                         },
                         end: Position {
                          line: 32,
                          column: 17,
                         },
                        },
                       },
                      ),
                      attribute_path: [
                       Raw(
                        PartRaw {
                         content: "filter",
                         span: Span {
                          start: Position {
                           line: 32,
                           column: 18,
                          },
                          end: Position {
                           line: 32,
                           column: 24,
                          },
                         },
                        },
                       ),
                      ],
                      default: None,
                     },
                    ),
                    arguments: [
                     Function(
                      Function {
                       head: Simple(
                        FunctionHeadSimple {
                         identifier: "p",
                        },
                       ),
                       body: BinaryOperation(
                        BinaryOperation {
                         left: FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "f",
                             span: Span {
                              start: Position {
                               line: 32,
                               column: 29,
                              },
                              end: Position {
                               line: 32,
                               column: 30,
                              },
                             },
                            },
                           ),
                           arguments: [
                            Identifier(
                             Identifier {
                              id: "x",
                              span: Span {
                               start: Position {
                                line: 32,
                                column: 31,
                               },
                               end: Position {
                                line: 32,
                                column: 32,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                         operator: NotEqualTo,
                         right: FunctionApplication(
                          FunctionApplication {
                           function: Identifier(
                            Identifier {
                             id: "f",
                             span: Span {
                              start: Position {
                               line: 32,
                               column: 36,
                              },
                              end: Position {
                               line: 32,
                               column: 37,
                              },
                             },
                            },
                           ),
                           arguments: [
                            Identifier(
                             Identifier {
                              id: "p",
                              span: Span {
                               start: Position {
                                line: 32,
                                column: 38,
                               },
                               end: Position {
                                line: 32,
                                column: 39,
                               },
                              },
                             },
                            ),
                           ],
                          },
                         ),
                        },
                       ),
                       span: Span {
                        start: Position {
                         line: 32,
                         column: 26,
                        },
                        end: Position {
                         line: 32,
                         column: 39,
                        },
                       },
                      },
                     ),
                     FunctionApplication(
                      FunctionApplication {
                       function: PropertyAccess(
                        PropertyAccess {
                         expression: Identifier(
                          Identifier {
                           id: "lib",
                           span: Span {
                            start: Position {
                             line: 32,
                             column: 42,
                            },
                            end: Position {
                             line: 32,
                             column: 45,
                            },
                           },
                          },
                         ),
                         attribute_path: [
                          Raw(
                           PartRaw {
                            content: "drop",
                            span: Span {
                             start: Position {
                              line: 32,
                              column: 46,
                             },
                             end: Position {
                              line: 32,
                              column: 50,
                             },
                            },
                           },
                          ),
                         ],
                         default: None,
                        },
                       ),
                       arguments: [
                        Integer(
                         Integer {
                          value: "1",
                          span: Span {
                           start: Position {
                            line: 32,
                            column: 51,
                           },
                           end: Position {
                            line: 32,
                            column: 52,
                           },
                          },
                         },
                        ),
                        Identifier(
                         Identifier {
                          id: "list",
                          span: Span {
                           start: Position {
                            line: 32,
                            column: 53,
                           },
                           end: Position {
                            line: 32,
                            column: 57,
                           },
                          },
                         },
                        ),
                       ],
                      },
                     ),
                    ],
                   },
                  ),
                 },
                ),
               ],
               target: BinaryOperation(
                BinaryOperation {
                 left: List(
                  List {
                   elements: [
                    Identifier(
                     Identifier {
                      id: "x",
                      span: Span {
                       start: Position {
                        line: 34,
                        column: 10,
                       },
                       end: Position {
                        line: 34,
                        column: 11,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 34,
                     column: 9,
                    },
                    end: Position {
                     line: 34,
                     column: 12,
                    },
                   },
                  },
                 ),
                 operator: Concatenation,
                 right: FunctionApplication(
                  FunctionApplication {
                   function: Identifier(
                    Identifier {
                     id: "nubOn",
                     span: Span {
                      start: Position {
                       line: 34,
                       column: 16,
                      },
                      end: Position {
                       line: 34,
                       column: 21,
                      },
                     },
                    },
                   ),
                   arguments: [
                    Identifier(
                     Identifier {
                      id: "f",
                      span: Span {
                       start: Position {
                        line: 34,
                        column: 22,
                       },
                       end: Position {
                        line: 34,
                        column: 23,
                       },
                      },
                     },
                    ),
                    Identifier(
                     Identifier {
                      id: "xs",
                      span: Span {
                       start: Position {
                        line: 34,
                        column: 24,
                       },
                       end: Position {
                        line: 34,
                        column: 26,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                },
               ),
               span: Span {
                start: Position {
                 line: 30,
                 column: 7,
                },
                end: Position {
                 line: 34,
                 column: 26,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 27,
               column: 5,
              },
              end: Position {
               line: 34,
               column: 26,
              },
             },
            },
           ),
           span: Span {
            start: Position {
             line: 26,
             column: 14,
            },
            end: Position {
             line: 34,
             column: 26,
            },
           },
          },
         ),
         span: Span {
          start: Position {
           line: 26,
           column: 11,
          },
          end: Position {
           line: 34,
           column: 26,
          },
         },
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "packagesWithPath",
          span: Span {
           start: Position {
            line: 45,
            column: 3,
           },
           end: Position {
            line: 45,
            column: 19,
           },
          },
         },
        ),
       ],
       to: Function(
        Function {
         head: Simple(
          FunctionHeadSimple {
           identifier: "rootPath",
          },
         ),
         body: Function(
          Function {
           head: Simple(
            FunctionHeadSimple {
             identifier: "cond",
            },
           ),
           body: Function(
            Function {
             head: Simple(
              FunctionHeadSimple {
               identifier: "pkgs",
              },
             ),
             body: LetIn(
              LetIn {
               bindings: [
                KeyValue(
                 BindingKeyValue {
                  from: [
                   Raw(
                    PartRaw {
                     content: "packagesWithPathInner",
                     span: Span {
                      start: Position {
                       line: 47,
                       column: 7,
                      },
                      end: Position {
                       line: 47,
                       column: 28,
                      },
                     },
                    },
                   ),
                  ],
                  to: Function(
                   Function {
                    head: Simple(
                     FunctionHeadSimple {
                      identifier: "path",
                     },
                    ),
                    body: Function(
                     Function {
                      head: Simple(
                       FunctionHeadSimple {
                        identifier: "pathContent",
                       },
                      ),
                      body: LetIn(
                       LetIn {
                        bindings: [
                         KeyValue(
                          BindingKeyValue {
                           from: [
                            Raw(
                             PartRaw {
                              content: "result",
                              span: Span {
                               start: Position {
                                line: 49,
                                column: 11,
                               },
                               end: Position {
                                line: 49,
                                column: 17,
                               },
                              },
                             },
                            ),
                           ],
                           to: FunctionApplication(
                            FunctionApplication {
                             function: PropertyAccess(
                              PropertyAccess {
                               expression: Identifier(
                                Identifier {
                                 id: "builtins",
                                 span: Span {
                                  start: Position {
                                   line: 49,
                                   column: 20,
                                  },
                                  end: Position {
                                   line: 49,
                                   column: 28,
                                  },
                                 },
                                },
                               ),
                               attribute_path: [
                                Raw(
                                 PartRaw {
                                  content: "tryEval",
                                  span: Span {
                                   start: Position {
                                    line: 49,
                                    column: 29,
                                   },
                                   end: Position {
                                    line: 49,
                                    column: 36,
                                   },
                                  },
                                 },
                                ),
                               ],
                               default: None,
                              },
                             ),
                             arguments: [
                              Identifier(
                               Identifier {
                                id: "pathContent",
                                span: Span {
                                 start: Position {
                                  line: 49,
                                  column: 37,
                                 },
                                 end: Position {
                                  line: 49,
                                  column: 48,
                                 },
                                },
                               },
                              ),
                             ],
                            },
                           ),
                          },
                         ),
                         KeyValue(
                          BindingKeyValue {
                           from: [
                            Raw(
                             PartRaw {
                              content: "somewhatUniqueRepresentant",
                              span: Span {
                               start: Position {
                                line: 51,
                                column: 11,
                               },
                               end: Position {
                                line: 51,
                                column: 37,
                               },
                              },
                             },
                            ),
                           ],
                           to: Function(
                            Function {
                             head: Destructured(
                              FunctionHeadDestructured {
                               ellipsis: false,
                               identifier: None,
                               arguments: [
                                FunctionHeadDestructuredArgument {
                                 identifier: "package",
                                 default: None,
                                },
                                FunctionHeadDestructuredArgument {
                                 identifier: "attrPath",
                                 default: None,
                                },
                               ],
                              },
                             ),
                             body: Map(
                              Map {
                               recursive: false,
                               bindings: [
                                Inherit(
                                 BindingInherit {
                                  from: Some(
                                   Identifier(
                                    Identifier {
                                     id: "package",
                                     span: Span {
                                      start: Position {
                                       line: 53,
                                       column: 24,
                                      },
                                      end: Position {
                                       line: 53,
                                       column: 31,
                                      },
                                     },
                                    },
                                   ),
                                  ),
                                  attributes: [
                                   Raw(
                                    PartRaw {
                                     content: "updateScript",
                                     span: Span {
                                      start: Position {
                                       line: 53,
                                       column: 33,
                                      },
                                      end: Position {
                                       line: 53,
                                       column: 45,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                  span: Span {
                                   start: Position {
                                    line: 52,
                                    column: 37,
                                   },
                                   end: Position {
                                    line: 53,
                                    column: 46,
                                   },
                                  },
                                 },
                                ),
                                KeyValue(
                                 BindingKeyValue {
                                  from: [
                                   Raw(
                                    PartRaw {
                                     content: "position",
                                     span: Span {
                                      start: Position {
                                       line: 56,
                                       column: 15,
                                      },
                                      end: Position {
                                       line: 56,
                                       column: 23,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                  to: PropertyAccess(
                                   PropertyAccess {
                                    expression: Identifier(
                                     Identifier {
                                      id: "package",
                                      span: Span {
                                       start: Position {
                                        line: 56,
                                        column: 26,
                                       },
                                       end: Position {
                                        line: 56,
                                        column: 33,
                                       },
                                      },
                                     },
                                    ),
                                    attribute_path: [
                                     Raw(
                                      PartRaw {
                                       content: "meta",
                                       span: Span {
                                        start: Position {
                                         line: 56,
                                         column: 34,
                                        },
                                        end: Position {
                                         line: 56,
                                         column: 38,
                                        },
                                       },
                                      },
                                     ),
                                     Raw(
                                      PartRaw {
                                       content: "position",
                                       span: Span {
                                        start: Position {
                                         line: 56,
                                         column: 39,
                                        },
                                        end: Position {
                                         line: 56,
                                         column: 47,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    default: Some(
                                     Identifier(
                                      Identifier {
                                       id: "null",
                                       span: Span {
                                        start: Position {
                                         line: 56,
                                         column: 51,
                                        },
                                        end: Position {
                                         line: 56,
                                         column: 55,
                                        },
                                       },
                                      },
                                     ),
                                    ),
                                   },
                                  ),
                                 },
                                ),
                               ],
                               span: Span {
                                start: Position {
                                 line: 52,
                                 column: 36,
                                },
                                end: Position {
                                 line: 59,
                                 column: 14,
                                },
                               },
                              },
                             ),
                             span: Span {
                              start: Position {
                               line: 52,
                               column: 13,
                              },
                              end: Position {
                               line: 59,
                               column: 14,
                              },
                             },
                            },
                           ),
                          },
                         ),
                         KeyValue(
                          BindingKeyValue {
                           from: [
                            Raw(
                             PartRaw {
                              content: "dedupResults",
                              span: Span {
                               start: Position {
                                line: 61,
                                column: 11,
                               },
                               end: Position {
                                line: 61,
                                column: 23,
                               },
                              },
                             },
                            ),
                           ],
                           to: Function(
                            Function {
                             head: Simple(
                              FunctionHeadSimple {
                               identifier: "lst",
                              },
                             ),
                             body: FunctionApplication(
                              FunctionApplication {
                               function: Identifier(
                                Identifier {
                                 id: "nubOn",
                                 span: Span {
                                  start: Position {
                                   line: 61,
                                   column: 31,
                                  },
                                  end: Position {
                                   line: 61,
                                   column: 36,
                                  },
                                 },
                                },
                               ),
                               arguments: [
                                Identifier(
                                 Identifier {
                                  id: "somewhatUniqueRepresentant",
                                  span: Span {
                                   start: Position {
                                    line: 61,
                                    column: 37,
                                   },
                                   end: Position {
                                    line: 61,
                                    column: 63,
                                   },
                                  },
                                 },
                                ),
                                FunctionApplication(
                                 FunctionApplication {
                                  function: PropertyAccess(
                                   PropertyAccess {
                                    expression: Identifier(
                                     Identifier {
                                      id: "lib",
                                      span: Span {
                                       start: Position {
                                        line: 61,
                                        column: 65,
                                       },
                                       end: Position {
                                        line: 61,
                                        column: 68,
                                       },
                                      },
                                     },
                                    ),
                                    attribute_path: [
                                     Raw(
                                      PartRaw {
                                       content: "concatLists",
                                       span: Span {
                                        start: Position {
                                         line: 61,
                                         column: 69,
                                        },
                                        end: Position {
                                         line: 61,
                                         column: 80,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    default: None,
                                   },
                                  ),
                                  arguments: [
                                   Identifier(
                                    Identifier {
                                     id: "lst",
                                     span: Span {
                                      start: Position {
                                       line: 61,
                                       column: 81,
                                      },
                                      end: Position {
                                       line: 61,
                                       column: 84,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                 },
                                ),
                               ],
                              },
                             ),
                             span: Span {
                              start: Position {
                               line: 61,
                               column: 26,
                              },
                              end: Position {
                               line: 61,
                               column: 85,
                              },
                             },
                            },
                           ),
                          },
                         ),
                        ],
                        target: IfThenElse(
                         IfThenElse {
                          predicate: PropertyAccess(
                           PropertyAccess {
                            expression: Identifier(
                             Identifier {
                              id: "result",
                              span: Span {
                               start: Position {
                                line: 63,
                                column: 14,
                               },
                               end: Position {
                                line: 63,
                                column: 20,
                               },
                              },
                             },
                            ),
                            attribute_path: [
                             Raw(
                              PartRaw {
                               content: "success",
                               span: Span {
                                start: Position {
                                 line: 63,
                                 column: 21,
                                },
                                end: Position {
                                 line: 63,
                                 column: 28,
                                },
                               },
                              },
                             ),
                            ],
                            default: None,
                           },
                          ),
                          then: LetIn(
                           LetIn {
                            bindings: [
                             KeyValue(
                              BindingKeyValue {
                               from: [
                                Raw(
                                 PartRaw {
                                  content: "evaluatedPathContent",
                                  span: Span {
                                   start: Position {
                                    line: 65,
                                    column: 15,
                                   },
                                   end: Position {
                                    line: 65,
                                    column: 35,
                                   },
                                  },
                                 },
                                ),
                               ],
                               to: PropertyAccess(
                                PropertyAccess {
                                 expression: Identifier(
                                  Identifier {
                                   id: "result",
                                   span: Span {
                                    start: Position {
                                     line: 65,
                                     column: 38,
                                    },
                                    end: Position {
                                     line: 65,
                                     column: 44,
                                    },
                                   },
                                  },
                                 ),
                                 attribute_path: [
                                  Raw(
                                   PartRaw {
                                    content: "value",
                                    span: Span {
                                     start: Position {
                                      line: 65,
                                      column: 45,
                                     },
                                     end: Position {
                                      line: 65,
                                      column: 50,
                                     },
                                    },
                                   },
                                  ),
                                 ],
                                 default: None,
                                },
                               ),
                              },
                             ),
                            ],
                            target: IfThenElse(
                             IfThenElse {
                              predicate: FunctionApplication(
                               FunctionApplication {
                                function: PropertyAccess(
                                 PropertyAccess {
                                  expression: Identifier(
                                   Identifier {
                                    id: "lib",
                                    span: Span {
                                     start: Position {
                                      line: 67,
                                      column: 18,
                                     },
                                     end: Position {
                                      line: 67,
                                      column: 21,
                                     },
                                    },
                                   },
                                  ),
                                  attribute_path: [
                                   Raw(
                                    PartRaw {
                                     content: "isDerivation",
                                     span: Span {
                                      start: Position {
                                       line: 67,
                                       column: 22,
                                      },
                                      end: Position {
                                       line: 67,
                                       column: 34,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                  default: None,
                                 },
                                ),
                                arguments: [
                                 Identifier(
                                  Identifier {
                                   id: "evaluatedPathContent",
                                   span: Span {
                                    start: Position {
                                     line: 67,
                                     column: 35,
                                    },
                                    end: Position {
                                     line: 67,
                                     column: 55,
                                    },
                                   },
                                  },
                                 ),
                                ],
                               },
                              ),
                              then: FunctionApplication(
                               FunctionApplication {
                                function: PropertyAccess(
                                 PropertyAccess {
                                  expression: Identifier(
                                   Identifier {
                                    id: "lib",
                                    span: Span {
                                     start: Position {
                                      line: 68,
                                      column: 17,
                                     },
                                     end: Position {
                                      line: 68,
                                      column: 20,
                                     },
                                    },
                                   },
                                  ),
                                  attribute_path: [
                                   Raw(
                                    PartRaw {
                                     content: "optional",
                                     span: Span {
                                      start: Position {
                                       line: 68,
                                       column: 21,
                                      },
                                      end: Position {
                                       line: 68,
                                       column: 29,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                  default: None,
                                 },
                                ),
                                arguments: [
                                 FunctionApplication(
                                  FunctionApplication {
                                   function: Identifier(
                                    Identifier {
                                     id: "cond",
                                     span: Span {
                                      start: Position {
                                       line: 68,
                                       column: 31,
                                      },
                                      end: Position {
                                       line: 68,
                                       column: 35,
                                      },
                                     },
                                    },
                                   ),
                                   arguments: [
                                    Identifier(
                                     Identifier {
                                      id: "path",
                                      span: Span {
                                       start: Position {
                                        line: 68,
                                        column: 36,
                                       },
                                       end: Position {
                                        line: 68,
                                        column: 40,
                                       },
                                      },
                                     },
                                    ),
                                    Identifier(
                                     Identifier {
                                      id: "evaluatedPathContent",
                                      span: Span {
                                       start: Position {
                                        line: 68,
                                        column: 41,
                                       },
                                       end: Position {
                                        line: 68,
                                        column: 61,
                                       },
                                      },
                                     },
                                    ),
                                   ],
                                  },
                                 ),
                                 Map(
                                  Map {
                                   recursive: false,
                                   bindings: [
                                    KeyValue(
                                     BindingKeyValue {
                                      from: [
                                       Raw(
                                        PartRaw {
                                         content: "attrPath",
                                         span: Span {
                                          start: Position {
                                           line: 68,
                                           column: 65,
                                          },
                                          end: Position {
                                           line: 68,
                                           column: 73,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      to: FunctionApplication(
                                       FunctionApplication {
                                        function: PropertyAccess(
                                         PropertyAccess {
                                          expression: Identifier(
                                           Identifier {
                                            id: "lib",
                                            span: Span {
                                             start: Position {
                                              line: 68,
                                              column: 76,
                                             },
                                             end: Position {
                                              line: 68,
                                              column: 79,
                                             },
                                            },
                                           },
                                          ),
                                          attribute_path: [
                                           Raw(
                                            PartRaw {
                                             content: "concatStringsSep",
                                             span: Span {
                                              start: Position {
                                               line: 68,
                                               column: 80,
                                              },
                                              end: Position {
                                               line: 68,
                                               column: 96,
                                              },
                                             },
                                            },
                                           ),
                                          ],
                                          default: None,
                                         },
                                        ),
                                        arguments: [
                                         String(
                                          String_ {
                                           parts: [
                                            Raw(
                                             PartRaw {
                                              content: ".",
                                              span: Span {
                                               start: Position {
                                                line: 68,
                                                column: 98,
                                               },
                                               end: Position {
                                                line: 68,
                                                column: 99,
                                               },
                                              },
                                             },
                                            ),
                                           ],
                                           span: Span {
                                            start: Position {
                                             line: 68,
                                             column: 97,
                                            },
                                            end: Position {
                                             line: 68,
                                             column: 100,
                                            },
                                           },
                                          },
                                         ),
                                         Identifier(
                                          Identifier {
                                           id: "path",
                                           span: Span {
                                            start: Position {
                                             line: 68,
                                             column: 101,
                                            },
                                            end: Position {
                                             line: 68,
                                             column: 105,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                       },
                                      ),
                                     },
                                    ),
                                    KeyValue(
                                     BindingKeyValue {
                                      from: [
                                       Raw(
                                        PartRaw {
                                         content: "package",
                                         span: Span {
                                          start: Position {
                                           line: 68,
                                           column: 107,
                                          },
                                          end: Position {
                                           line: 68,
                                           column: 114,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      to: Identifier(
                                       Identifier {
                                        id: "evaluatedPathContent",
                                        span: Span {
                                         start: Position {
                                          line: 68,
                                          column: 117,
                                         },
                                         end: Position {
                                          line: 68,
                                          column: 137,
                                         },
                                        },
                                       },
                                      ),
                                     },
                                    ),
                                   ],
                                   span: Span {
                                    start: Position {
                                     line: 68,
                                     column: 63,
                                    },
                                    end: Position {
                                     line: 68,
                                     column: 140,
                                    },
                                   },
                                  },
                                 ),
                                ],
                               },
                              ),
                              else_: IfThenElse(
                               IfThenElse {
                                predicate: FunctionApplication(
                                 FunctionApplication {
                                  function: PropertyAccess(
                                   PropertyAccess {
                                    expression: Identifier(
                                     Identifier {
                                      id: "lib",
                                      span: Span {
                                       start: Position {
                                        line: 69,
                                        column: 23,
                                       },
                                       end: Position {
                                        line: 69,
                                        column: 26,
                                       },
                                      },
                                     },
                                    ),
                                    attribute_path: [
                                     Raw(
                                      PartRaw {
                                       content: "isAttrs",
                                       span: Span {
                                        start: Position {
                                         line: 69,
                                         column: 27,
                                        },
                                        end: Position {
                                         line: 69,
                                         column: 34,
                                        },
                                       },
                                      },
                                     ),
                                    ],
                                    default: None,
                                   },
                                  ),
                                  arguments: [
                                   Identifier(
                                    Identifier {
                                     id: "evaluatedPathContent",
                                     span: Span {
                                      start: Position {
                                       line: 69,
                                       column: 35,
                                      },
                                      end: Position {
                                       line: 69,
                                       column: 55,
                                      },
                                     },
                                    },
                                   ),
                                  ],
                                 },
                                ),
                                then: IfThenElse(
                                 IfThenElse {
                                  predicate: BinaryOperation(
                                   BinaryOperation {
                                    left: BinaryOperation(
                                     BinaryOperation {
                                      left: BinaryOperation(
                                       BinaryOperation {
                                        left: Identifier(
                                         Identifier {
                                          id: "path",
                                          span: Span {
                                           start: Position {
                                            line: 71,
                                            column: 20,
                                           },
                                           end: Position {
                                            line: 71,
                                            column: 24,
                                           },
                                          },
                                         },
                                        ),
                                        operator: EqualTo,
                                        right: Identifier(
                                         Identifier {
                                          id: "rootPath",
                                          span: Span {
                                           start: Position {
                                            line: 71,
                                            column: 28,
                                           },
                                           end: Position {
                                            line: 71,
                                            column: 36,
                                           },
                                          },
                                         },
                                        ),
                                       },
                                      ),
                                      operator: LogicalOr,
                                      right: PropertyAccess(
                                       PropertyAccess {
                                        expression: Identifier(
                                         Identifier {
                                          id: "evaluatedPathContent",
                                          span: Span {
                                           start: Position {
                                            line: 71,
                                            column: 40,
                                           },
                                           end: Position {
                                            line: 71,
                                            column: 60,
                                           },
                                          },
                                         },
                                        ),
                                        attribute_path: [
                                         Raw(
                                          PartRaw {
                                           content: "recurseForDerivations",
                                           span: Span {
                                            start: Position {
                                             line: 71,
                                             column: 61,
                                            },
                                            end: Position {
                                             line: 71,
                                             column: 82,
                                            },
                                           },
                                          },
                                         ),
                                        ],
                                        default: Some(
                                         Identifier(
                                          Identifier {
                                           id: "false",
                                           span: Span {
                                            start: Position {
                                             line: 71,
                                             column: 86,
                                            },
                                            end: Position {
                                             line: 71,
                                             column: 91,
                                            },
                                           },
                                          },
                                         ),
                                        ),
                                       },
                                      ),
                                     },
                                    ),
                                    operator: LogicalOr,
                                    right: PropertyAccess(
                                     PropertyAccess {
                                      expression: Identifier(
                                       Identifier {
                                        id: "evaluatedPathContent",
                                        span: Span {
                                         start: Position {
                                          line: 71,
                                          column: 95,
                                         },
                                         end: Position {
                                          line: 71,
                                          column: 115,
                                         },
                                        },
                                       },
                                      ),
                                      attribute_path: [
                                       Raw(
                                        PartRaw {
                                         content: "recurseForRelease",
                                         span: Span {
                                          start: Position {
                                           line: 71,
                                           column: 116,
                                          },
                                          end: Position {
                                           line: 71,
                                           column: 133,
                                          },
                                         },
                                        },
                                       ),
                                      ],
                                      default: Some(
                                       Identifier(
                                        Identifier {
                                         id: "false",
                                         span: Span {
                                          start: Position {
                                           line: 71,
                                           column: 137,
                                          },
                                          end: Position {
                                           line: 71,
                                           column: 142,
                                          },
                                         },
                                        },
                                       ),
                                      ),
                                     },
                                    ),
                                   },
                                  ),
                                  then: FunctionApplication(
                                   FunctionApplication {
                                    function: Identifier(
                                     Identifier {
                                      id: "dedupResults",
                                      span: Span {
                                       start: Position {
                                        line: 72,
                                        column: 19,
                                       },
                                       end: Position {
                                        line: 72,
                                        column: 31,
                                       },
                                      },
                                     },
                                    ),
                                    arguments: [
                                     FunctionApplication(
                                      FunctionApplication {
                                       function: PropertyAccess(
                                        PropertyAccess {
                                         expression: Identifier(
                                          Identifier {
                                           id: "lib",
                                           span: Span {
                                            start: Position {
                                             line: 72,
                                             column: 33,
                                            },
                                            end: Position {
                                             line: 72,
                                             column: 36,
                                            },
                                           },
                                          },
                                         ),
                                         attribute_path: [
                                          Raw(
                                           PartRaw {
                                            content: "mapAttrsToList",
                                            span: Span {
                                             start: Position {
                                              line: 72,
                                              column: 37,
                                             },
                                             end: Position {
                                              line: 72,
                                              column: 51,
                                             },
                                            },
                                           },
                                          ),
                                         ],
                                         default: None,
                                        },
                                       ),
                                       arguments: [
                                        Function(
                                         Function {
                                          head: Simple(
                                           FunctionHeadSimple {
                                            identifier: "name",
                                           },
                                          ),
                                          body: Function(
                                           Function {
                                            head: Simple(
                                             FunctionHeadSimple {
                                              identifier: "elem",
                                             },
                                            ),
                                            body: FunctionApplication(
                                             FunctionApplication {
                                              function: Identifier(
                                               Identifier {
                                                id: "packagesWithPathInner",
                                                span: Span {
                                                 start: Position {
                                                  line: 72,
                                                  column: 65,
                                                 },
                                                 end: Position {
                                                  line: 72,
                                                  column: 86,
                                                 },
                                                },
                                               },
                                              ),
                                              arguments: [
                                               BinaryOperation(
                                                BinaryOperation {
                                                 left: Identifier(
                                                  Identifier {
                                                   id: "path",
                                                   span: Span {
                                                    start: Position {
                                                     line: 72,
                                                     column: 88,
                                                    },
                                                    end: Position {
                                                     line: 72,
                                                     column: 92,
                                                    },
                                                   },
                                                  },
                                                 ),
                                                 operator: Concatenation,
                                                 right: List(
                                                  List {
                                                   elements: [
                                                    Identifier(
                                                     Identifier {
                                                      id: "name",
                                                      span: Span {
                                                       start: Position {
                                                        line: 72,
                                                        column: 97,
                                                       },
                                                       end: Position {
                                                        line: 72,
                                                        column: 101,
                                                       },
                                                      },
                                                     },
                                                    ),
                                                   ],
                                                   span: Span {
                                                    start: Position {
                                                     line: 72,
                                                     column: 96,
                                                    },
                                                    end: Position {
                                                     line: 72,
                                                     column: 102,
                                                    },
                                                   },
                                                  },
                                                 ),
                                                },
                                               ),
                                               Identifier(
                                                Identifier {
                                                 id: "elem",
                                                 span: Span {
                                                  start: Position {
                                                   line: 72,
                                                   column: 104,
                                                  },
                                                  end: Position {
                                                   line: 72,
                                                   column: 108,
                                                  },
                                                 },
                                                },
                                               ),
                                              ],
                                             },
                                            ),
                                            span: Span {
                                             start: Position {
                                              line: 72,
                                              column: 59,
                                             },
                                             end: Position {
                                              line: 72,
                                              column: 108,
                                             },
                                            },
                                           },
                                          ),
                                          span: Span {
                                           start: Position {
                                            line: 72,
                                            column: 53,
                                           },
                                           end: Position {
                                            line: 72,
                                            column: 108,
                                           },
                                          },
                                         },
                                        ),
                                        Identifier(
                                         Identifier {
                                          id: "evaluatedPathContent",
                                          span: Span {
                                           start: Position {
                                            line: 72,
                                            column: 110,
                                           },
                                           end: Position {
                                            line: 72,
                                            column: 130,
                                           },
                                          },
                                         },
                                        ),
                                       ],
                                      },
                                     ),
                                    ],
                                   },
                                  ),
                                  else_: List(
                                   List {
                                    elements: [],
                                    span: Span {
                                     start: Position {
                                      line: 73,
                                      column: 22,
                                     },
                                     end: Position {
                                      line: 73,
                                      column: 24,
                                     },
                                    },
                                   },
                                  ),
                                  span: Span {
                                   start: Position {
                                    line: 71,
                                    column: 17,
                                   },
                                   end: Position {
                                    line: 73,
                                    column: 24,
                                   },
                                  },
                                 },
                                ),
                                else_: List(
                                 List {
                                  elements: [],
                                  span: Span {
                                   start: Position {
                                    line: 74,
                                    column: 20,
                                   },
                                   end: Position {
                                    line: 74,
                                    column: 22,
                                   },
                                  },
                                 },
                                ),
                                span: Span {
                                 start: Position {
                                  line: 69,
                                  column: 20,
                                 },
                                 end: Position {
                                  line: 74,
                                  column: 22,
                                 },
                                },
                               },
                              ),
                              span: Span {
                               start: Position {
                                line: 67,
                                column: 15,
                               },
                               end: Position {
                                line: 74,
                                column: 22,
                               },
                              },
                             },
                            ),
                            span: Span {
                             start: Position {
                              line: 64,
                              column: 13,
                             },
                             end: Position {
                              line: 74,
                              column: 22,
                             },
                            },
                           },
                          ),
                          else_: List(
                           List {
                            elements: [],
                            span: Span {
                             start: Position {
                              line: 75,
                              column: 16,
                             },
                             end: Position {
                              line: 75,
                              column: 18,
                             },
                            },
                           },
                          ),
                          span: Span {
                           start: Position {
                            line: 63,
                            column: 11,
                           },
                           end: Position {
                            line: 75,
                            column: 18,
                           },
                          },
                         },
                        ),
                        span: Span {
                         start: Position {
                          line: 48,
                          column: 9,
                         },
                         end: Position {
                          line: 75,
                          column: 18,
                         },
                        },
                       },
                      ),
                      span: Span {
                       start: Position {
                        line: 47,
                        column: 37,
                       },
                       end: Position {
                        line: 75,
                        column: 18,
                       },
                      },
                     },
                    ),
                    span: Span {
                     start: Position {
                      line: 47,
                      column: 31,
                     },
                     end: Position {
                      line: 75,
                      column: 18,
                     },
                    },
                   },
                  ),
                 },
                ),
               ],
               target: FunctionApplication(
                FunctionApplication {
                 function: Identifier(
                  Identifier {
                   id: "packagesWithPathInner",
                   span: Span {
                    start: Position {
                     line: 77,
                     column: 7,
                    },
                    end: Position {
                     line: 77,
                     column: 28,
                    },
                   },
                  },
                 ),
                 arguments: [
                  Identifier(
                   Identifier {
                    id: "rootPath",
                    span: Span {
                     start: Position {
                      line: 77,
                      column: 29,
                     },
                     end: Position {
                      line: 77,
                      column: 37,
                     },
                    },
                   },
                  ),
                  Identifier(
                   Identifier {
                    id: "pkgs",
                    span: Span {
                     start: Position {
                      line: 77,
                      column: 38,
                     },
                     end: Position {
                      line: 77,
                      column: 42,
                     },
                    },
                   },
                  ),
                 ],
                },
               ),
               span: Span {
                start: Position {
                 line: 46,
                 column: 5,
                },
                end: Position {
                 line: 77,
                 column: 42,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 45,
               column: 38,
              },
              end: Position {
               line: 77,
               column: 42,
              },
             },
            },
           ),
           span: Span {
            start: Position {
             line: 45,
             column: 32,
            },
            end: Position {
             line: 77,
             column: 42,
            },
           },
          },
         ),
         span: Span {
          start: Position {
           line: 45,
           column: 22,
          },
          end: Position {
           line: 77,
           column: 42,
          },
         },
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "packagesWith",
          span: Span {
           start: Position {
            line: 81,
            column: 3,
           },
           end: Position {
            line: 81,
            column: 15,
           },
          },
         },
        ),
       ],
       to: FunctionApplication(
        FunctionApplication {
         function: Identifier(
          Identifier {
           id: "packagesWithPath",
           span: Span {
            start: Position {
             line: 81,
             column: 18,
            },
            end: Position {
             line: 81,
             column: 34,
            },
           },
          },
         ),
         arguments: [
          List(
           List {
            elements: [],
            span: Span {
             start: Position {
              line: 81,
              column: 35,
             },
             end: Position {
              line: 81,
              column: 37,
             },
            },
           },
          ),
         ],
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "packagesWithUpdateScriptMatchingPredicate",
          span: Span {
           start: Position {
            line: 85,
            column: 3,
           },
           end: Position {
            line: 85,
            column: 44,
           },
          },
         },
        ),
       ],
       to: Function(
        Function {
         head: Simple(
          FunctionHeadSimple {
           identifier: "cond",
          },
         ),
         body: FunctionApplication(
          FunctionApplication {
           function: Identifier(
            Identifier {
             id: "packagesWith",
             span: Span {
              start: Position {
               line: 86,
               column: 5,
              },
              end: Position {
               line: 86,
               column: 17,
              },
             },
            },
           ),
           arguments: [
            Function(
             Function {
              head: Simple(
               FunctionHeadSimple {
                identifier: "path",
               },
              ),
              body: Function(
               Function {
                head: Simple(
                 FunctionHeadSimple {
                  identifier: "pkg",
                 },
                ),
                body: BinaryOperation(
                 BinaryOperation {
                  left: FunctionApplication(
                   FunctionApplication {
                    function: PropertyAccess(
                     PropertyAccess {
                      expression: Identifier(
                       Identifier {
                        id: "builtins",
                        span: Span {
                         start: Position {
                          line: 86,
                          column: 30,
                         },
                         end: Position {
                          line: 86,
                          column: 38,
                         },
                        },
                       },
                      ),
                      attribute_path: [
                       Raw(
                        PartRaw {
                         content: "hasAttr",
                         span: Span {
                          start: Position {
                           line: 86,
                           column: 39,
                          },
                          end: Position {
                           line: 86,
                           column: 46,
                          },
                         },
                        },
                       ),
                      ],
                      default: None,
                     },
                    ),
                    arguments: [
                     String(
                      String_ {
                       parts: [
                        Raw(
                         PartRaw {
                          content: "updateScript",
                          span: Span {
                           start: Position {
                            line: 86,
                            column: 48,
                           },
                           end: Position {
                            line: 86,
                            column: 60,
                           },
                          },
                         },
                        ),
                       ],
                       span: Span {
                        start: Position {
                         line: 86,
                         column: 47,
                        },
                        end: Position {
                         line: 86,
                         column: 61,
                        },
                       },
                      },
                     ),
                     Identifier(
                      Identifier {
                       id: "pkg",
                       span: Span {
                        start: Position {
                         line: 86,
                         column: 62,
                        },
                        end: Position {
                         line: 86,
                         column: 65,
                        },
                       },
                      },
                     ),
                    ],
                   },
                  ),
                  operator: LogicalAnd,
                  right: FunctionApplication(
                   FunctionApplication {
                    function: Identifier(
                     Identifier {
                      id: "cond",
                      span: Span {
                       start: Position {
                        line: 86,
                        column: 69,
                       },
                       end: Position {
                        line: 86,
                        column: 73,
                       },
                      },
                     },
                    ),
                    arguments: [
                     Identifier(
                      Identifier {
                       id: "path",
                       span: Span {
                        start: Position {
                         line: 86,
                         column: 74,
                        },
                        end: Position {
                         line: 86,
                         column: 78,
                        },
                       },
                      },
                     ),
                     Identifier(
                      Identifier {
                       id: "pkg",
                       span: Span {
                        start: Position {
                         line: 86,
                         column: 79,
                        },
                        end: Position {
                         line: 86,
                         column: 82,
                        },
                       },
                      },
                     ),
                    ],
                   },
                  ),
                 },
                ),
                span: Span {
                 start: Position {
                  line: 86,
                  column: 25,
                 },
                 end: Position {
                  line: 86,
                  column: 82,
                 },
                },
               },
              ),
              span: Span {
               start: Position {
                line: 86,
                column: 19,
               },
               end: Position {
                line: 86,
                column: 82,
               },
              },
             },
            ),
           ],
          },
         ),
         span: Span {
          start: Position {
           line: 85,
           column: 47,
          },
          end: Position {
           line: 86,
           column: 83,
          },
         },
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "packagesWithUpdateScriptAndMaintainer",
          span: Span {
           start: Position {
            line: 90,
            column: 3,
           },
           end: Position {
            line: 90,
            column: 40,
           },
          },
         },
        ),
       ],
       to: Function(
        Function {
         head: Simple(
          FunctionHeadSimple {
           identifier: "maintainer'",
          },
         ),
         body: LetIn(
          LetIn {
           bindings: [
            KeyValue(
             BindingKeyValue {
              from: [
               Raw(
                PartRaw {
                 content: "maintainer",
                 span: Span {
                  start: Position {
                   line: 92,
                   column: 7,
                  },
                  end: Position {
                   line: 92,
                   column: 17,
                  },
                 },
                },
               ),
              ],
              to: IfThenElse(
               IfThenElse {
                predicate: UnaryOperation(
                 UnaryOperation {
                  operator: Not,
                  operand: FunctionApplication(
                   FunctionApplication {
                    function: PropertyAccess(
                     PropertyAccess {
                      expression: Identifier(
                       Identifier {
                        id: "builtins",
                        span: Span {
                         start: Position {
                          line: 93,
                          column: 14,
                         },
                         end: Position {
                          line: 93,
                          column: 22,
                         },
                        },
                       },
                      ),
                      attribute_path: [
                       Raw(
                        PartRaw {
                         content: "hasAttr",
                         span: Span {
                          start: Position {
                           line: 93,
                           column: 23,
                          },
                          end: Position {
                           line: 93,
                           column: 30,
                          },
                         },
                        },
                       ),
                      ],
                      default: None,
                     },
                    ),
                    arguments: [
                     Identifier(
                      Identifier {
                       id: "maintainer'",
                       span: Span {
                        start: Position {
                         line: 93,
                         column: 31,
                        },
                        end: Position {
                         line: 93,
                         column: 42,
                        },
                       },
                      },
                     ),
                     PropertyAccess(
                      PropertyAccess {
                       expression: Identifier(
                        Identifier {
                         id: "lib",
                         span: Span {
                          start: Position {
                           line: 93,
                           column: 43,
                          },
                          end: Position {
                           line: 93,
                           column: 46,
                          },
                         },
                        },
                       ),
                       attribute_path: [
                        Raw(
                         PartRaw {
                          content: "maintainers",
                          span: Span {
                           start: Position {
                            line: 93,
                            column: 47,
                           },
                           end: Position {
                            line: 93,
                            column: 58,
                           },
                          },
                         },
                        ),
                       ],
                       default: None,
                      },
                     ),
                    ],
                   },
                  ),
                  span: Span {
                   start: Position {
                    line: 93,
                    column: 12,
                   },
                   end: Position {
                    line: 93,
                    column: 58,
                   },
                  },
                 },
                ),
                then: FunctionApplication(
                 FunctionApplication {
                  function: PropertyAccess(
                   PropertyAccess {
                    expression: Identifier(
                     Identifier {
                      id: "builtins",
                      span: Span {
                       start: Position {
                        line: 94,
                        column: 11,
                       },
                       end: Position {
                        line: 94,
                        column: 19,
                       },
                      },
                     },
                    ),
                    attribute_path: [
                     Raw(
                      PartRaw {
                       content: "throw",
                       span: Span {
                        start: Position {
                         line: 94,
                         column: 20,
                        },
                        end: Position {
                         line: 94,
                         column: 25,
                        },
                       },
                      },
                     ),
                    ],
                    default: None,
                   },
                  ),
                  arguments: [
                   String(
                    String_ {
                     parts: [
                      Raw(
                       PartRaw {
                        content: "Maintainer with name `",
                        span: Span {
                         start: Position {
                          line: 94,
                          column: 27,
                         },
                         end: Position {
                          line: 94,
                          column: 63,
                         },
                        },
                       },
                      ),
                      Interpolation(
                       PartInterpolation {
                        expression: Identifier(
                         Identifier {
                          id: "maintainer'",
                          span: Span {
                           start: Position {
                            line: 94,
                            column: 51,
                           },
                           end: Position {
                            line: 94,
                            column: 62,
                           },
                          },
                         },
                        ),
                       },
                      ),
                      Raw(
                       PartRaw {
                        content: " does not exist in `maintainers/maintainer-list.nix`.",
                        span: Span {
                         start: Position {
                          line: 94,
                          column: 27,
                         },
                         end: Position {
                          line: 94,
                          column: 116,
                         },
                        },
                       },
                      ),
                     ],
                     span: Span {
                      start: Position {
                       line: 94,
                       column: 26,
                      },
                      end: Position {
                       line: 94,
                       column: 117,
                      },
                     },
                    },
                   ),
                  ],
                 },
                ),
                else_: FunctionApplication(
                 FunctionApplication {
                  function: PropertyAccess(
                   PropertyAccess {
                    expression: Identifier(
                     Identifier {
                      id: "builtins",
                      span: Span {
                       start: Position {
                        line: 96,
                        column: 11,
                       },
                       end: Position {
                        line: 96,
                        column: 19,
                       },
                      },
                     },
                    ),
                    attribute_path: [
                     Raw(
                      PartRaw {
                       content: "getAttr",
                       span: Span {
                        start: Position {
                         line: 96,
                         column: 20,
                        },
                        end: Position {
                         line: 96,
                         column: 27,
                        },
                       },
                      },
                     ),
                    ],
                    default: None,
                   },
                  ),
                  arguments: [
                   Identifier(
                    Identifier {
                     id: "maintainer'",
                     span: Span {
                      start: Position {
                       line: 96,
                       column: 28,
                      },
                      end: Position {
                       line: 96,
                       column: 39,
                      },
                     },
                    },
                   ),
                   PropertyAccess(
                    PropertyAccess {
                     expression: Identifier(
                      Identifier {
                       id: "lib",
                       span: Span {
                        start: Position {
                         line: 96,
                         column: 40,
                        },
                        end: Position {
                         line: 96,
                         column: 43,
                        },
                       },
                      },
                     ),
                     attribute_path: [
                      Raw(
                       PartRaw {
                        content: "maintainers",
                        span: Span {
                         start: Position {
                          line: 96,
                          column: 44,
                         },
                         end: Position {
                          line: 96,
                          column: 55,
                         },
                        },
                       },
                      ),
                     ],
                     default: None,
                    },
                   ),
                  ],
                 },
                ),
                span: Span {
                 start: Position {
                  line: 93,
                  column: 9,
                 },
                 end: Position {
                  line: 96,
                  column: 55,
                 },
                },
               },
              ),
             },
            ),
           ],
           target: FunctionApplication(
            FunctionApplication {
             function: Identifier(
              Identifier {
               id: "packagesWithUpdateScriptMatchingPredicate",
               span: Span {
                start: Position {
                 line: 98,
                 column: 7,
                },
                end: Position {
                 line: 98,
                 column: 48,
                },
               },
              },
             ),
             arguments: [
              Function(
               Function {
                head: Simple(
                 FunctionHeadSimple {
                  identifier: "path",
                 },
                ),
                body: Function(
                 Function {
                  head: Simple(
                   FunctionHeadSimple {
                    identifier: "pkg",
                   },
                  ),
                  body: IfThenElse(
                   IfThenElse {
                    predicate: FunctionApplication(
                     FunctionApplication {
                      function: PropertyAccess(
                       PropertyAccess {
                        expression: Identifier(
                         Identifier {
                          id: "builtins",
                          span: Span {
                           start: Position {
                            line: 99,
                            column: 30,
                           },
                           end: Position {
                            line: 99,
                            column: 38,
                           },
                          },
                         },
                        ),
                        attribute_path: [
                         Raw(
                          PartRaw {
                           content: "hasAttr",
                           span: Span {
                            start: Position {
                             line: 99,
                             column: 39,
                            },
                            end: Position {
                             line: 99,
                             column: 46,
                            },
                           },
                          },
                         ),
                        ],
                        default: None,
                       },
                      ),
                      arguments: [
                       String(
                        String_ {
                         parts: [
                          Raw(
                           PartRaw {
                            content: "maintainers",
                            span: Span {
                             start: Position {
                              line: 99,
                              column: 48,
                             },
                             end: Position {
                              line: 99,
                              column: 59,
                             },
                            },
                           },
                          ),
                         ],
                         span: Span {
                          start: Position {
                           line: 99,
                           column: 47,
                          },
                          end: Position {
                           line: 99,
                           column: 60,
                          },
                         },
                        },
                       ),
                       PropertyAccess(
                        PropertyAccess {
                         expression: Identifier(
                          Identifier {
                           id: "pkg",
                           span: Span {
                            start: Position {
                             line: 99,
                             column: 61,
                            },
                            end: Position {
                             line: 99,
                             column: 64,
                            },
                           },
                          },
                         ),
                         attribute_path: [
                          Raw(
                           PartRaw {
                            content: "meta",
                            span: Span {
                             start: Position {
                              line: 99,
                              column: 65,
                             },
                             end: Position {
                              line: 99,
                              column: 69,
                             },
                            },
                           },
                          ),
                         ],
                         default: None,
                        },
                       ),
                      ],
                     },
                    ),
                    then: IfThenElse(
                     IfThenElse {
                      predicate: FunctionApplication(
                       FunctionApplication {
                        function: PropertyAccess(
                         PropertyAccess {
                          expression: Identifier(
                           Identifier {
                            id: "builtins",
                            span: Span {
                             start: Position {
                              line: 100,
                              column: 37,
                             },
                             end: Position {
                              line: 100,
                              column: 45,
                             },
                            },
                           },
                          ),
                          attribute_path: [
                           Raw(
                            PartRaw {
                             content: "isList",
                             span: Span {
                              start: Position {
                               line: 100,
                               column: 46,
                              },
                              end: Position {
                               line: 100,
                               column: 52,
                              },
                             },
                            },
                           ),
                          ],
                          default: None,
                         },
                        ),
                        arguments: [
                         PropertyAccess(
                          PropertyAccess {
                           expression: Identifier(
                            Identifier {
                             id: "pkg",
                             span: Span {
                              start: Position {
                               line: 100,
                               column: 53,
                              },
                              end: Position {
                               line: 100,
                               column: 56,
                              },
                             },
                            },
                           ),
                           attribute_path: [
                            Raw(
                             PartRaw {
                              content: "meta",
                              span: Span {
                               start: Position {
                                line: 100,
                                column: 57,
                               },
                               end: Position {
                                line: 100,
                                column: 61,
                               },
                              },
                             },
                            ),
                            Raw(
                             PartRaw {
                              content: "maintainers",
                              span: Span {
                               start: Position {
                                line: 100,
                                column: 62,
                               },
                               end: Position {
                                line: 100,
                                column: 73,
                               },
                              },
                             },
                            ),
                           ],
                           default: None,
                          },
                         ),
                        ],
                       },
                      ),
                      then: FunctionApplication(
                       FunctionApplication {
                        function: PropertyAccess(
                         PropertyAccess {
                          expression: Identifier(
                           Identifier {
                            id: "builtins",
                            span: Span {
                             start: Position {
                              line: 101,
                              column: 41,
                             },
                             end: Position {
                              line: 101,
                              column: 49,
                             },
                            },
                           },
                          ),
                          attribute_path: [
                           Raw(
                            PartRaw {
                             content: "elem",
                             span: Span {
                              start: Position {
                               line: 101,
                               column: 50,
                              },
                              end: Position {
                               line: 101,
                               column: 54,
                              },
                             },
                            },
                           ),
                          ],
                          default: None,
                         },
                        ),
                        arguments: [
                         Identifier(
                          Identifier {
                           id: "maintainer",
                           span: Span {
                            start: Position {
                             line: 101,
                             column: 55,
                            },
                            end: Position {
                             line: 101,
                             column: 65,
                            },
                           },
                          },
                         ),
                         PropertyAccess(
                          PropertyAccess {
                           expression: Identifier(
                            Identifier {
                             id: "pkg",
                             span: Span {
                              start: Position {
                               line: 101,
                               column: 66,
                              },
                              end: Position {
                               line: 101,
                               column: 69,
                              },
                             },
                            },
                           ),
                           attribute_path: [
                            Raw(
                             PartRaw {
                              content: "meta",
                              span: Span {
                               start: Position {
                                line: 101,
                                column: 70,
                               },
                               end: Position {
                                line: 101,
                                column: 74,
                               },
                              },
                             },
                            ),
                            Raw(
                             PartRaw {
                              content: "maintainers",
                              span: Span {
                               start: Position {
                                line: 101,
                                column: 75,
                               },
                               end: Position {
                                line: 101,
                                column: 86,
                               },
                              },
                             },
                            ),
                           ],
                           default: None,
                          },
                         ),
                        ],
                       },
                      ),
                      else_: BinaryOperation(
                       BinaryOperation {
                        left: Identifier(
                         Identifier {
                          id: "maintainer",
                          span: Span {
                           start: Position {
                            line: 102,
                            column: 41,
                           },
                           end: Position {
                            line: 102,
                            column: 51,
                           },
                          },
                         },
                        ),
                        operator: EqualTo,
                        right: PropertyAccess(
                         PropertyAccess {
                          expression: Identifier(
                           Identifier {
                            id: "pkg",
                            span: Span {
                             start: Position {
                              line: 102,
                              column: 55,
                             },
                             end: Position {
                              line: 102,
                              column: 58,
                             },
                            },
                           },
                          ),
                          attribute_path: [
                           Raw(
                            PartRaw {
                             content: "meta",
                             span: Span {
                              start: Position {
                               line: 102,
                               column: 59,
                              },
                              end: Position {
                               line: 102,
                               column: 63,
                              },
                             },
                            },
                           ),
                           Raw(
                            PartRaw {
                             content: "maintainers",
                             span: Span {
                              start: Position {
                               line: 102,
                               column: 64,
                              },
                              end: Position {
                               line: 102,
                               column: 75,
                              },
                             },
                            },
                           ),
                          ],
                          default: None,
                         },
                        ),
                       },
                      ),
                      span: Span {
                       start: Position {
                        line: 100,
                        column: 34,
                       },
                       end: Position {
                        line: 102,
                        column: 75,
                       },
                      },
                     },
                    ),
                    else_: Identifier(
                     Identifier {
                      id: "false",
                      span: Span {
                       start: Position {
                        line: 104,
                        column: 33,
                       },
                       end: Position {
                        line: 104,
                        column: 38,
                       },
                      },
                     },
                    ),
                    span: Span {
                     start: Position {
                      line: 99,
                      column: 27,
                     },
                     end: Position {
                      line: 104,
                      column: 38,
                     },
                    },
                   },
                  ),
                  span: Span {
                   start: Position {
                    line: 98,
                    column: 56,
                   },
                   end: Position {
                    line: 105,
                    column: 27,
                   },
                  },
                 },
                ),
                span: Span {
                 start: Position {
                  line: 98,
                  column: 50,
                 },
                 end: Position {
                  line: 105,
                  column: 27,
                 },
                },
               },
              ),
             ],
            },
           ),
           span: Span {
            start: Position {
             line: 91,
             column: 5,
            },
            end: Position {
             line: 106,
             column: 21,
            },
           },
          },
         ),
         span: Span {
          start: Position {
           line: 90,
           column: 43,
          },
          end: Position {
           line: 106,
           column: 21,
          },
         },
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "packagesWithUpdateScript",
          span: Span {
           start: Position {
            line: 110,
            column: 3,
           },
           end: Position {
            line: 110,
            column: 27,
           },
          },
         },
        ),
       ],
       to: Function(
        Function {
         head: Simple(
          FunctionHeadSimple {
           identifier: "path",
          },
         ),
         body: Function(
          Function {
           head: Simple(
            FunctionHeadSimple {
             identifier: "pkgs",
            },
           ),
           body: LetIn(
            LetIn {
             bindings: [
              KeyValue(
               BindingKeyValue {
                from: [
                 Raw(
                  PartRaw {
                   content: "prefix",
                   span: Span {
                    start: Position {
                     line: 112,
                     column: 7,
                    },
                    end: Position {
                     line: 112,
                     column: 13,
                    },
                   },
                  },
                 ),
                ],
                to: FunctionApplication(
                 FunctionApplication {
                  function: PropertyAccess(
                   PropertyAccess {
                    expression: Identifier(
                     Identifier {
                      id: "lib",
                      span: Span {
                       start: Position {
                        line: 112,
                        column: 16,
                       },
                       end: Position {
                        line: 112,
                        column: 19,
                       },
                      },
                     },
                    ),
                    attribute_path: [
                     Raw(
                      PartRaw {
                       content: "splitString",
                       span: Span {
                        start: Position {
                         line: 112,
                         column: 20,
                        },
                        end: Position {
                         line: 112,
                         column: 31,
                        },
                       },
                      },
                     ),
                    ],
                    default: None,
                   },
                  ),
                  arguments: [
                   String(
                    String_ {
                     parts: [
                      Raw(
                       PartRaw {
                        content: ".",
                        span: Span {
                         start: Position {
                          line: 112,
                          column: 33,
                         },
                         end: Position {
                          line: 112,
                          column: 34,
                         },
                        },
                       },
                      ),
                     ],
                     span: Span {
                      start: Position {
                       line: 112,
                       column: 32,
                      },
                      end: Position {
                       line: 112,
                       column: 35,
                      },
                     },
                    },
                   ),
                   Identifier(
                    Identifier {
                     id: "path",
                     span: Span {
                      start: Position {
                       line: 112,
                       column: 36,
                      },
                      end: Position {
                       line: 112,
                       column: 40,
                      },
                     },
                    },
                   ),
                  ],
                 },
                ),
               },
              ),
              KeyValue(
               BindingKeyValue {
                from: [
                 Raw(
                  PartRaw {
                   content: "pathContent",
                   span: Span {
                    start: Position {
                     line: 113,
                     column: 7,
                    },
                    end: Position {
                     line: 113,
                     column: 18,
                    },
                   },
                  },
                 ),
                ],
                to: FunctionApplication(
                 FunctionApplication {
                  function: PropertyAccess(
                   PropertyAccess {
                    expression: Identifier(
                     Identifier {
                      id: "lib",
                      span: Span {
                       start: Position {
                        line: 113,
                        column: 21,
                       },
                       end: Position {
                        line: 113,
                        column: 24,
                       },
                      },
                     },
                    ),
                    attribute_path: [
                     Raw(
                      PartRaw {
                       content: "attrByPath",
                       span: Span {
                        start: Position {
                         line: 113,
                         column: 25,
                        },
                        end: Position {
                         line: 113,
                         column: 35,
                        },
                       },
                      },
                     ),
                    ],
                    default: None,
                   },
                  ),
                  arguments: [
                   Identifier(
                    Identifier {
                     id: "prefix",
                     span: Span {
                      start: Position {
                       line: 113,
                       column: 36,
                      },
                      end: Position {
                       line: 113,
                       column: 42,
                      },
                     },
                    },
                   ),
                   Identifier(
                    Identifier {
                     id: "null",
                     span: Span {
                      start: Position {
                       line: 113,
                       column: 43,
                      },
                      end: Position {
                       line: 113,
                       column: 47,
                      },
                     },
                    },
                   ),
                   Identifier(
                    Identifier {
                     id: "pkgs",
                     span: Span {
                      start: Position {
                       line: 113,
                       column: 48,
                      },
                      end: Position {
                       line: 113,
                       column: 52,
                      },
                     },
                    },
                   ),
                  ],
                 },
                ),
               },
              ),
             ],
             target: IfThenElse(
              IfThenElse {
               predicate: BinaryOperation(
                BinaryOperation {
                 left: Identifier(
                  Identifier {
                   id: "pathContent",
                   span: Span {
                    start: Position {
                     line: 115,
                     column: 10,
                    },
                    end: Position {
                     line: 115,
                     column: 21,
                    },
                   },
                  },
                 ),
                 operator: EqualTo,
                 right: Identifier(
                  Identifier {
                   id: "null",
                   span: Span {
                    start: Position {
                     line: 115,
                     column: 25,
                    },
                    end: Position {
                     line: 115,
                     column: 29,
                    },
                   },
                  },
                 ),
                },
               ),
               then: FunctionApplication(
                FunctionApplication {
                 function: PropertyAccess(
                  PropertyAccess {
                   expression: Identifier(
                    Identifier {
                     id: "builtins",
                     span: Span {
                      start: Position {
                       line: 116,
                       column: 9,
                      },
                      end: Position {
                       line: 116,
                       column: 17,
                      },
                     },
                    },
                   ),
                   attribute_path: [
                    Raw(
                     PartRaw {
                      content: "throw",
                      span: Span {
                       start: Position {
                        line: 116,
                        column: 18,
                       },
                       end: Position {
                        line: 116,
                        column: 23,
                       },
                      },
                     },
                    ),
                   ],
                   default: None,
                  },
                 ),
                 arguments: [
                  String(
                   String_ {
                    parts: [
                     Raw(
                      PartRaw {
                       content: "Attribute path `",
                       span: Span {
                        start: Position {
                         line: 116,
                         column: 25,
                        },
                        end: Position {
                         line: 116,
                         column: 48,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "path",
                         span: Span {
                          start: Position {
                           line: 116,
                           column: 43,
                          },
                          end: Position {
                           line: 116,
                           column: 47,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "` does not exist.",
                       span: Span {
                        start: Position {
                         line: 116,
                         column: 25,
                        },
                        end: Position {
                         line: 116,
                         column: 65,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 116,
                      column: 24,
                     },
                     end: Position {
                      line: 116,
                      column: 66,
                     },
                    },
                   },
                  ),
                 ],
                },
               ),
               else_: FunctionApplication(
                FunctionApplication {
                 function: Identifier(
                  Identifier {
                   id: "packagesWithPath",
                   span: Span {
                    start: Position {
                     line: 118,
                     column: 9,
                    },
                    end: Position {
                     line: 118,
                     column: 25,
                    },
                   },
                  },
                 ),
                 arguments: [
                  Identifier(
                   Identifier {
                    id: "prefix",
                    span: Span {
                     start: Position {
                      line: 118,
                      column: 26,
                     },
                     end: Position {
                      line: 118,
                      column: 32,
                     },
                    },
                   },
                  ),
                  Function(
                   Function {
                    head: Simple(
                     FunctionHeadSimple {
                      identifier: "path",
                     },
                    ),
                    body: Function(
                     Function {
                      head: Simple(
                       FunctionHeadSimple {
                        identifier: "pkg",
                       },
                      ),
                      body: FunctionApplication(
                       FunctionApplication {
                        function: PropertyAccess(
                         PropertyAccess {
                          expression: Identifier(
                           Identifier {
                            id: "builtins",
                            span: Span {
                             start: Position {
                              line: 118,
                              column: 45,
                             },
                             end: Position {
                              line: 118,
                              column: 53,
                             },
                            },
                           },
                          ),
                          attribute_path: [
                           Raw(
                            PartRaw {
                             content: "hasAttr",
                             span: Span {
                              start: Position {
                               line: 118,
                               column: 54,
                              },
                              end: Position {
                               line: 118,
                               column: 61,
                              },
                             },
                            },
                           ),
                          ],
                          default: None,
                         },
                        ),
                        arguments: [
                         String(
                          String_ {
                           parts: [
                            Raw(
                             PartRaw {
                              content: "updateScript",
                              span: Span {
                               start: Position {
                                line: 118,
                                column: 63,
                               },
                               end: Position {
                                line: 118,
                                column: 75,
                               },
                              },
                             },
                            ),
                           ],
                           span: Span {
                            start: Position {
                             line: 118,
                             column: 62,
                            },
                            end: Position {
                             line: 118,
                             column: 76,
                            },
                           },
                          },
                         ),
                         Identifier(
                          Identifier {
                           id: "pkg",
                           span: Span {
                            start: Position {
                             line: 118,
                             column: 77,
                            },
                            end: Position {
                             line: 118,
                             column: 80,
                            },
                           },
                          },
                         ),
                        ],
                       },
                      ),
                      span: Span {
                       start: Position {
                        line: 118,
                        column: 40,
                       },
                       end: Position {
                        line: 118,
                        column: 80,
                       },
                      },
                     },
                    ),
                    span: Span {
                     start: Position {
                      line: 118,
                      column: 34,
                     },
                     end: Position {
                      line: 118,
                      column: 80,
                     },
                    },
                   },
                  ),
                  Identifier(
                   Identifier {
                    id: "pathContent",
                    span: Span {
                     start: Position {
                      line: 119,
                      column: 24,
                     },
                     end: Position {
                      line: 119,
                      column: 35,
                     },
                    },
                   },
                  ),
                 ],
                },
               ),
               span: Span {
                start: Position {
                 line: 115,
                 column: 7,
                },
                end: Position {
                 line: 119,
                 column: 35,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 111,
               column: 5,
              },
              end: Position {
               line: 119,
               column: 35,
              },
             },
            },
           ),
           span: Span {
            start: Position {
             line: 110,
             column: 36,
            },
            end: Position {
             line: 119,
             column: 35,
            },
           },
          },
         ),
         span: Span {
          start: Position {
           line: 110,
           column: 30,
          },
          end: Position {
           line: 119,
           column: 35,
          },
         },
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "packageByName",
          span: Span {
           start: Position {
            line: 123,
            column: 3,
           },
           end: Position {
            line: 123,
            column: 16,
           },
          },
         },
        ),
       ],
       to: Function(
        Function {
         head: Simple(
          FunctionHeadSimple {
           identifier: "path",
          },
         ),
         body: Function(
          Function {
           head: Simple(
            FunctionHeadSimple {
             identifier: "pkgs",
            },
           ),
           body: LetIn(
            LetIn {
             bindings: [
              KeyValue(
               BindingKeyValue {
                from: [
                 Raw(
                  PartRaw {
                   content: "package",
                   span: Span {
                    start: Position {
                     line: 125,
                     column: 9,
                    },
                    end: Position {
                     line: 125,
                     column: 16,
                    },
                   },
                  },
                 ),
                ],
                to: FunctionApplication(
                 FunctionApplication {
                  function: PropertyAccess(
                   PropertyAccess {
                    expression: Identifier(
                     Identifier {
                      id: "lib",
                      span: Span {
                       start: Position {
                        line: 125,
                        column: 19,
                       },
                       end: Position {
                        line: 125,
                        column: 22,
                       },
                      },
                     },
                    ),
                    attribute_path: [
                     Raw(
                      PartRaw {
                       content: "attrByPath",
                       span: Span {
                        start: Position {
                         line: 125,
                         column: 23,
                        },
                        end: Position {
                         line: 125,
                         column: 33,
                        },
                       },
                      },
                     ),
                    ],
                    default: None,
                   },
                  ),
                  arguments: [
                   FunctionApplication(
                    FunctionApplication {
                     function: PropertyAccess(
                      PropertyAccess {
                       expression: Identifier(
                        Identifier {
                         id: "lib",
                         span: Span {
                          start: Position {
                           line: 125,
                           column: 35,
                          },
                          end: Position {
                           line: 125,
                           column: 38,
                          },
                         },
                        },
                       ),
                       attribute_path: [
                        Raw(
                         PartRaw {
                          content: "splitString",
                          span: Span {
                           start: Position {
                            line: 125,
                            column: 39,
                           },
                           end: Position {
                            line: 125,
                            column: 50,
                           },
                          },
                         },
                        ),
                       ],
                       default: None,
                      },
                     ),
                     arguments: [
                      String(
                       String_ {
                        parts: [
                         Raw(
                          PartRaw {
                           content: ".",
                           span: Span {
                            start: Position {
                             line: 125,
                             column: 52,
                            },
                            end: Position {
                             line: 125,
                             column: 53,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 125,
                          column: 51,
                         },
                         end: Position {
                          line: 125,
                          column: 54,
                         },
                        },
                       },
                      ),
                      Identifier(
                       Identifier {
                        id: "path",
                        span: Span {
                         start: Position {
                          line: 125,
                          column: 55,
                         },
                         end: Position {
                          line: 125,
                          column: 59,
                         },
                        },
                       },
                      ),
                     ],
                    },
                   ),
                   Identifier(
                    Identifier {
                     id: "null",
                     span: Span {
                      start: Position {
                       line: 125,
                       column: 61,
                      },
                      end: Position {
                       line: 125,
                       column: 65,
                      },
                     },
                    },
                   ),
                   Identifier(
                    Identifier {
                     id: "pkgs",
                     span: Span {
                      start: Position {
                       line: 125,
                       column: 66,
                      },
                      end: Position {
                       line: 125,
                       column: 70,
                      },
                     },
                    },
                   ),
                  ],
                 },
                ),
               },
              ),
             ],
             target: IfThenElse(
              IfThenElse {
               predicate: BinaryOperation(
                BinaryOperation {
                 left: Identifier(
                  Identifier {
                   id: "package",
                   span: Span {
                    start: Position {
                     line: 127,
                     column: 10,
                    },
                    end: Position {
                     line: 127,
                     column: 17,
                    },
                   },
                  },
                 ),
                 operator: EqualTo,
                 right: Identifier(
                  Identifier {
                   id: "null",
                   span: Span {
                    start: Position {
                     line: 127,
                     column: 21,
                    },
                    end: Position {
                     line: 127,
                     column: 25,
                    },
                   },
                  },
                 ),
                },
               ),
               then: FunctionApplication(
                FunctionApplication {
                 function: PropertyAccess(
                  PropertyAccess {
                   expression: Identifier(
                    Identifier {
                     id: "builtins",
                     span: Span {
                      start: Position {
                       line: 128,
                       column: 9,
                      },
                      end: Position {
                       line: 128,
                       column: 17,
                      },
                     },
                    },
                   ),
                   attribute_path: [
                    Raw(
                     PartRaw {
                      content: "throw",
                      span: Span {
                       start: Position {
                        line: 128,
                        column: 18,
                       },
                       end: Position {
                        line: 128,
                        column: 23,
                       },
                      },
                     },
                    ),
                   ],
                   default: None,
                  },
                 ),
                 arguments: [
                  String(
                   String_ {
                    parts: [
                     Raw(
                      PartRaw {
                       content: "Package with an attribute name `",
                       span: Span {
                        start: Position {
                         line: 128,
                         column: 25,
                        },
                        end: Position {
                         line: 128,
                         column: 64,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "path",
                         span: Span {
                          start: Position {
                           line: 128,
                           column: 59,
                          },
                          end: Position {
                           line: 128,
                           column: 63,
                          },
                         },
                        },
                       ),
                      },
                     ),
                     Raw(
                      PartRaw {
                       content: "` does not exist.",
                       span: Span {
                        start: Position {
                         line: 128,
                         column: 25,
                        },
                        end: Position {
                         line: 128,
                         column: 81,
                        },
                       },
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 128,
                      column: 24,
                     },
                     end: Position {
                      line: 128,
                      column: 82,
                     },
                    },
                   },
                  ),
                 ],
                },
               ),
               else_: IfThenElse(
                IfThenElse {
                 predicate: UnaryOperation(
                  UnaryOperation {
                   operator: Not,
                   operand: FunctionApplication(
                    FunctionApplication {
                     function: PropertyAccess(
                      PropertyAccess {
                       expression: Identifier(
                        Identifier {
                         id: "builtins",
                         span: Span {
                          start: Position {
                           line: 129,
                           column: 17,
                          },
                          end: Position {
                           line: 129,
                           column: 25,
                          },
                         },
                        },
                       ),
                       attribute_path: [
                        Raw(
                         PartRaw {
                          content: "hasAttr",
                          span: Span {
                           start: Position {
                            line: 129,
                            column: 26,
                           },
                           end: Position {
                            line: 129,
                            column: 33,
                           },
                          },
                         },
                        ),
                       ],
                       default: None,
                      },
                     ),
                     arguments: [
                      String(
                       String_ {
                        parts: [
                         Raw(
                          PartRaw {
                           content: "updateScript",
                           span: Span {
                            start: Position {
                             line: 129,
                             column: 35,
                            },
                            end: Position {
                             line: 129,
                             column: 47,
                            },
                           },
                          },
                         ),
                        ],
                        span: Span {
                         start: Position {
                          line: 129,
                          column: 34,
                         },
                         end: Position {
                          line: 129,
                          column: 48,
                         },
                        },
                       },
                      ),
                      Identifier(
                       Identifier {
                        id: "package",
                        span: Span {
                         start: Position {
                          line: 129,
                          column: 49,
                         },
                         end: Position {
                          line: 129,
                          column: 56,
                         },
                        },
                       },
                      ),
                     ],
                    },
                   ),
                   span: Span {
                    start: Position {
                     line: 129,
                     column: 15,
                    },
                    end: Position {
                     line: 129,
                     column: 56,
                    },
                   },
                  },
                 ),
                 then: FunctionApplication(
                  FunctionApplication {
                   function: PropertyAccess(
                    PropertyAccess {
                     expression: Identifier(
                      Identifier {
                       id: "builtins",
                       span: Span {
                        start: Position {
                         line: 130,
                         column: 9,
                        },
                        end: Position {
                         line: 130,
                         column: 17,
                        },
                       },
                      },
                     ),
                     attribute_path: [
                      Raw(
                       PartRaw {
                        content: "throw",
                        span: Span {
                         start: Position {
                          line: 130,
                          column: 18,
                         },
                         end: Position {
                          line: 130,
                          column: 23,
                         },
                        },
                       },
                      ),
                     ],
                     default: None,
                    },
                   ),
                   arguments: [
                    String(
                     String_ {
                      parts: [
                       Raw(
                        PartRaw {
                         content: "Package with an attribute name `",
                         span: Span {
                          start: Position {
                           line: 130,
                           column: 25,
                          },
                          end: Position {
                           line: 130,
                           column: 64,
                          },
                         },
                        },
                       ),
                       Interpolation(
                        PartInterpolation {
                         expression: Identifier(
                          Identifier {
                           id: "path",
                           span: Span {
                            start: Position {
                             line: 130,
                             column: 59,
                            },
                            end: Position {
                             line: 130,
                             column: 63,
                            },
                           },
                          },
                         ),
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "` does not have a `passthru.updateScript` attribute defined.",
                         span: Span {
                          start: Position {
                           line: 130,
                           column: 25,
                          },
                          end: Position {
                           line: 130,
                           column: 124,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 130,
                        column: 24,
                       },
                       end: Position {
                        line: 130,
                        column: 125,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                 else_: Map(
                  Map {
                   recursive: false,
                   bindings: [
                    KeyValue(
                     BindingKeyValue {
                      from: [
                       Raw(
                        PartRaw {
                         content: "attrPath",
                         span: Span {
                          start: Position {
                           line: 132,
                           column: 11,
                          },
                          end: Position {
                           line: 132,
                           column: 19,
                          },
                         },
                        },
                       ),
                      ],
                      to: Identifier(
                       Identifier {
                        id: "path",
                        span: Span {
                         start: Position {
                          line: 132,
                          column: 22,
                         },
                         end: Position {
                          line: 132,
                          column: 26,
                         },
                        },
                       },
                      ),
                     },
                    ),
                    Inherit(
                     BindingInherit {
                      from: None,
                      attributes: [
                       Raw(
                        PartRaw {
                         content: "package",
                         span: Span {
                          start: Position {
                           line: 132,
                           column: 36,
                          },
                          end: Position {
                           line: 132,
                           column: 43,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 132,
                        column: 10,
                       },
                       end: Position {
                        line: 132,
                        column: 44,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 132,
                     column: 9,
                    },
                    end: Position {
                     line: 132,
                     column: 46,
                    },
                   },
                  },
                 ),
                 span: Span {
                  start: Position {
                   line: 129,
                   column: 12,
                  },
                  end: Position {
                   line: 132,
                   column: 46,
                  },
                 },
                },
               ),
               span: Span {
                start: Position {
                 line: 127,
                 column: 7,
                },
                end: Position {
                 line: 132,
                 column: 46,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 124,
               column: 5,
              },
              end: Position {
               line: 132,
               column: 46,
              },
             },
            },
           ),
           span: Span {
            start: Position {
             line: 123,
             column: 25,
            },
            end: Position {
             line: 132,
             column: 46,
            },
           },
          },
         ),
         span: Span {
          start: Position {
           line: 123,
           column: 19,
          },
          end: Position {
           line: 132,
           column: 46,
          },
         },
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "packages",
          span: Span {
           start: Position {
            line: 136,
            column: 3,
           },
           end: Position {
            line: 136,
            column: 11,
           },
          },
         },
        ),
       ],
       to: IfThenElse(
        IfThenElse {
         predicate: BinaryOperation(
          BinaryOperation {
           left: Identifier(
            Identifier {
             id: "package",
             span: Span {
              start: Position {
               line: 137,
               column: 8,
              },
              end: Position {
               line: 137,
               column: 15,
              },
             },
            },
           ),
           operator: NotEqualTo,
           right: Identifier(
            Identifier {
             id: "null",
             span: Span {
              start: Position {
               line: 137,
               column: 19,
              },
              end: Position {
               line: 137,
               column: 23,
              },
             },
            },
           ),
          },
         ),
         then: List(
          List {
           elements: [
            FunctionApplication(
             FunctionApplication {
              function: Identifier(
               Identifier {
                id: "packageByName",
                span: Span {
                 start: Position {
                  line: 138,
                  column: 10,
                 },
                 end: Position {
                  line: 138,
                  column: 23,
                 },
                },
               },
              ),
              arguments: [
               Identifier(
                Identifier {
                 id: "package",
                 span: Span {
                  start: Position {
                   line: 138,
                   column: 24,
                  },
                  end: Position {
                   line: 138,
                   column: 31,
                  },
                 },
                },
               ),
               Identifier(
                Identifier {
                 id: "pkgs",
                 span: Span {
                  start: Position {
                   line: 138,
                   column: 32,
                  },
                  end: Position {
                   line: 138,
                   column: 36,
                  },
                 },
                },
               ),
              ],
             },
            ),
           ],
           span: Span {
            start: Position {
             line: 138,
             column: 7,
            },
            end: Position {
             line: 138,
             column: 39,
            },
           },
          },
         ),
         else_: IfThenElse(
          IfThenElse {
           predicate: BinaryOperation(
            BinaryOperation {
             left: Identifier(
              Identifier {
               id: "predicate",
               span: Span {
                start: Position {
                 line: 139,
                 column: 13,
                },
                end: Position {
                 line: 139,
                 column: 22,
                },
               },
              },
             ),
             operator: NotEqualTo,
             right: Identifier(
              Identifier {
               id: "null",
               span: Span {
                start: Position {
                 line: 139,
                 column: 26,
                },
                end: Position {
                 line: 139,
                 column: 30,
                },
               },
              },
             ),
            },
           ),
           then: FunctionApplication(
            FunctionApplication {
             function: Identifier(
              Identifier {
               id: "packagesWithUpdateScriptMatchingPredicate",
               span: Span {
                start: Position {
                 line: 140,
                 column: 7,
                },
                end: Position {
                 line: 140,
                 column: 48,
                },
               },
              },
             ),
             arguments: [
              Identifier(
               Identifier {
                id: "predicate",
                span: Span {
                 start: Position {
                  line: 140,
                  column: 49,
                 },
                 end: Position {
                  line: 140,
                  column: 58,
                 },
                },
               },
              ),
              Identifier(
               Identifier {
                id: "pkgs",
                span: Span {
                 start: Position {
                  line: 140,
                  column: 59,
                 },
                 end: Position {
                  line: 140,
                  column: 63,
                 },
                },
               },
              ),
             ],
            },
           ),
           else_: IfThenElse(
            IfThenElse {
             predicate: BinaryOperation(
              BinaryOperation {
               left: Identifier(
                Identifier {
                 id: "maintainer",
                 span: Span {
                  start: Position {
                   line: 141,
                   column: 13,
                  },
                  end: Position {
                   line: 141,
                   column: 23,
                  },
                 },
                },
               ),
               operator: NotEqualTo,
               right: Identifier(
                Identifier {
                 id: "null",
                 span: Span {
                  start: Position {
                   line: 141,
                   column: 27,
                  },
                  end: Position {
                   line: 141,
                   column: 31,
                  },
                 },
                },
               ),
              },
             ),
             then: FunctionApplication(
              FunctionApplication {
               function: Identifier(
                Identifier {
                 id: "packagesWithUpdateScriptAndMaintainer",
                 span: Span {
                  start: Position {
                   line: 142,
                   column: 7,
                  },
                  end: Position {
                   line: 142,
                   column: 44,
                  },
                 },
                },
               ),
               arguments: [
                Identifier(
                 Identifier {
                  id: "maintainer",
                  span: Span {
                   start: Position {
                    line: 142,
                    column: 45,
                   },
                   end: Position {
                    line: 142,
                    column: 55,
                   },
                  },
                 },
                ),
                Identifier(
                 Identifier {
                  id: "pkgs",
                  span: Span {
                   start: Position {
                    line: 142,
                    column: 56,
                   },
                   end: Position {
                    line: 142,
                    column: 60,
                   },
                  },
                 },
                ),
               ],
              },
             ),
             else_: IfThenElse(
              IfThenElse {
               predicate: BinaryOperation(
                BinaryOperation {
                 left: Identifier(
                  Identifier {
                   id: "path",
                   span: Span {
                    start: Position {
                     line: 143,
                     column: 13,
                    },
                    end: Position {
                     line: 143,
                     column: 17,
                    },
                   },
                  },
                 ),
                 operator: NotEqualTo,
                 right: Identifier(
                  Identifier {
                   id: "null",
                   span: Span {
                    start: Position {
                     line: 143,
                     column: 21,
                    },
                    end: Position {
                     line: 143,
                     column: 25,
                    },
                   },
                  },
                 ),
                },
               ),
               then: FunctionApplication(
                FunctionApplication {
                 function: Identifier(
                  Identifier {
                   id: "packagesWithUpdateScript",
                   span: Span {
                    start: Position {
                     line: 144,
                     column: 7,
                    },
                    end: Position {
                     line: 144,
                     column: 31,
                    },
                   },
                  },
                 ),
                 arguments: [
                  Identifier(
                   Identifier {
                    id: "path",
                    span: Span {
                     start: Position {
                      line: 144,
                      column: 32,
                     },
                     end: Position {
                      line: 144,
                      column: 36,
                     },
                    },
                   },
                  ),
                  Identifier(
                   Identifier {
                    id: "pkgs",
                    span: Span {
                     start: Position {
                      line: 144,
                      column: 37,
                     },
                     end: Position {
                      line: 144,
                      column: 41,
                     },
                    },
                   },
                  ),
                 ],
                },
               ),
               else_: FunctionApplication(
                FunctionApplication {
                 function: PropertyAccess(
                  PropertyAccess {
                   expression: Identifier(
                    Identifier {
                     id: "builtins",
                     span: Span {
                      start: Position {
                       line: 146,
                       column: 7,
                      },
                      end: Position {
                       line: 146,
                       column: 15,
                      },
                     },
                    },
                   ),
                   attribute_path: [
                    Raw(
                     PartRaw {
                      content: "throw",
                      span: Span {
                       start: Position {
                        line: 146,
                        column: 16,
                       },
                       end: Position {
                        line: 146,
                        column: 21,
                       },
                      },
                     },
                    ),
                   ],
                   default: None,
                  },
                 ),
                 arguments: [
                  String(
                   String_ {
                    parts: [
                     Raw(
                      PartRaw {
                       content: "No arguments provided.\n\n",
                       span: Span {
                        start: Position {
                         line: 146,
                         column: 23,
                        },
                        end: Position {
                         line: 146,
                         column: 60,
                        },
                       },
                      },
                     ),
                     Interpolation(
                      PartInterpolation {
                       expression: Identifier(
                        Identifier {
                         id: "helpText",
                         span: Span {
                          start: Position {
                           line: 146,
                           column: 51,
                          },
                          end: Position {
                           line: 146,
                           column: 59,
                          },
                         },
                        },
                       ),
                      },
                     ),
                    ],
                    span: Span {
                     start: Position {
                      line: 146,
                      column: 22,
                     },
                     end: Position {
                      line: 146,
                      column: 61,
                     },
                    },
                   },
                  ),
                 ],
                },
               ),
               span: Span {
                start: Position {
                 line: 143,
                 column: 10,
                },
                end: Position {
                 line: 146,
                 column: 61,
                },
               },
              },
             ),
             span: Span {
              start: Position {
               line: 141,
               column: 10,
              },
              end: Position {
               line: 146,
               column: 61,
              },
             },
            },
           ),
           span: Span {
            start: Position {
             line: 139,
             column: 10,
            },
            end: Position {
             line: 146,
             column: 61,
            },
           },
          },
         ),
         span: Span {
          start: Position {
           line: 137,
           column: 5,
          },
          end: Position {
           line: 146,
           column: 61,
          },
         },
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "helpText",
          span: Span {
           start: Position {
            line: 148,
            column: 3,
           },
           end: Position {
            line: 148,
            column: 11,
           },
          },
         },
        ),
       ],
       to: IndentedString(
        IndentedString {
         parts: [
          Raw(
           PartRaw {
            content: "Please run:\n\n    % nix-shell maintainers/scripts/update.nix --argstr maintainer garbas\n\nto run all update scripts for all packages that lists \\`garbas\\` as a maintainer\nand have \\`updateScript\\` defined, or:\n\n    % nix-shell maintainers/scripts/update.nix --argstr package gnome.nautilus\n\nto run update script for specific package, or\n\n    % nix-shell maintainers/scripts/update.nix --arg predicate '(path: pkg: pkg.updateScript.name or null == \"gnome-update-script\")'\n\nto run update script for all packages matching given predicate, or\n\n    % nix-shell maintainers/scripts/update.nix --argstr path gnome\n\nto run update script for all package under an attribute path.\n\nYou can also add\n\n    --argstr max-workers 8\n\nto increase the number of jobs in parallel, or\n\n    --argstr keep-going true\n\nto continue running when a single update fails.\n\nYou can also make the updater automatically commit on your behalf from updateScripts\nthat support it by adding\n\n    --argstr commit true\n",
            span: Span {
             start: Position {
              line: 149,
              column: 1,
             },
             end: Position {
              line: 182,
              column: 3,
             },
            },
           },
          ),
         ],
         span: Span {
          start: Position {
           line: 148,
           column: 14,
          },
          end: Position {
           line: 182,
           column: 5,
          },
         },
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "packageData",
          span: Span {
           start: Position {
            line: 186,
            column: 3,
           },
           end: Position {
            line: 186,
            column: 14,
           },
          },
         },
        ),
       ],
       to: Function(
        Function {
         head: Destructured(
          FunctionHeadDestructured {
           ellipsis: false,
           identifier: None,
           arguments: [
            FunctionHeadDestructuredArgument {
             identifier: "package",
             default: None,
            },
            FunctionHeadDestructuredArgument {
             identifier: "attrPath",
             default: None,
            },
           ],
          },
         ),
         body: Map(
          Map {
           recursive: false,
           bindings: [
            KeyValue(
             BindingKeyValue {
              from: [
               Raw(
                PartRaw {
                 content: "name",
                 span: Span {
                  start: Position {
                   line: 187,
                   column: 5,
                  },
                  end: Position {
                   line: 187,
                   column: 9,
                  },
                 },
                },
               ),
              ],
              to: PropertyAccess(
               PropertyAccess {
                expression: Identifier(
                 Identifier {
                  id: "package",
                  span: Span {
                   start: Position {
                    line: 187,
                    column: 12,
                   },
                   end: Position {
                    line: 187,
                    column: 19,
                   },
                  },
                 },
                ),
                attribute_path: [
                 Raw(
                  PartRaw {
                   content: "name",
                   span: Span {
                    start: Position {
                     line: 187,
                     column: 20,
                    },
                    end: Position {
                     line: 187,
                     column: 24,
                    },
                   },
                  },
                 ),
                ],
                default: None,
               },
              ),
             },
            ),
            KeyValue(
             BindingKeyValue {
              from: [
               Raw(
                PartRaw {
                 content: "pname",
                 span: Span {
                  start: Position {
                   line: 188,
                   column: 5,
                  },
                  end: Position {
                   line: 188,
                   column: 10,
                  },
                 },
                },
               ),
              ],
              to: FunctionApplication(
               FunctionApplication {
                function: PropertyAccess(
                 PropertyAccess {
                  expression: Identifier(
                   Identifier {
                    id: "lib",
                    span: Span {
                     start: Position {
                      line: 188,
                      column: 13,
                     },
                     end: Position {
                      line: 188,
                      column: 16,
                     },
                    },
                   },
                  ),
                  attribute_path: [
                   Raw(
                    PartRaw {
                     content: "getName",
                     span: Span {
                      start: Position {
                       line: 188,
                       column: 17,
                      },
                      end: Position {
                       line: 188,
                       column: 24,
                      },
                     },
                    },
                   ),
                  ],
                  default: None,
                 },
                ),
                arguments: [
                 Identifier(
                  Identifier {
                   id: "package",
                   span: Span {
                    start: Position {
                     line: 188,
                     column: 25,
                    },
                    end: Position {
                     line: 188,
                     column: 32,
                    },
                   },
                  },
                 ),
                ],
               },
              ),
             },
            ),
            KeyValue(
             BindingKeyValue {
              from: [
               Raw(
                PartRaw {
                 content: "oldVersion",
                 span: Span {
                  start: Position {
                   line: 189,
                   column: 5,
                  },
                  end: Position {
                   line: 189,
                   column: 15,
                  },
                 },
                },
               ),
              ],
              to: FunctionApplication(
               FunctionApplication {
                function: PropertyAccess(
                 PropertyAccess {
                  expression: Identifier(
                   Identifier {
                    id: "lib",
                    span: Span {
                     start: Position {
                      line: 189,
                      column: 18,
                     },
                     end: Position {
                      line: 189,
                      column: 21,
                     },
                    },
                   },
                  ),
                  attribute_path: [
                   Raw(
                    PartRaw {
                     content: "getVersion",
                     span: Span {
                      start: Position {
                       line: 189,
                       column: 22,
                      },
                      end: Position {
                       line: 189,
                       column: 32,
                      },
                     },
                    },
                   ),
                  ],
                  default: None,
                 },
                ),
                arguments: [
                 Identifier(
                  Identifier {
                   id: "package",
                   span: Span {
                    start: Position {
                     line: 189,
                     column: 33,
                    },
                    end: Position {
                     line: 189,
                     column: 40,
                    },
                   },
                  },
                 ),
                ],
               },
              ),
             },
            ),
            KeyValue(
             BindingKeyValue {
              from: [
               Raw(
                PartRaw {
                 content: "updateScript",
                 span: Span {
                  start: Position {
                   line: 190,
                   column: 5,
                  },
                  end: Position {
                   line: 190,
                   column: 17,
                  },
                 },
                },
               ),
              ],
              to: FunctionApplication(
               FunctionApplication {
                function: Identifier(
                 Identifier {
                  id: "map",
                  span: Span {
                   start: Position {
                    line: 190,
                    column: 20,
                   },
                   end: Position {
                    line: 190,
                    column: 23,
                   },
                  },
                 },
                ),
                arguments: [
                 PropertyAccess(
                  PropertyAccess {
                   expression: Identifier(
                    Identifier {
                     id: "builtins",
                     span: Span {
                      start: Position {
                       line: 190,
                       column: 24,
                      },
                      end: Position {
                       line: 190,
                       column: 32,
                      },
                     },
                    },
                   ),
                   attribute_path: [
                    Raw(
                     PartRaw {
                      content: "toString",
                      span: Span {
                       start: Position {
                        line: 190,
                        column: 33,
                       },
                       end: Position {
                        line: 190,
                        column: 41,
                       },
                      },
                     },
                    ),
                   ],
                   default: None,
                  },
                 ),
                 FunctionApplication(
                  FunctionApplication {
                   function: PropertyAccess(
                    PropertyAccess {
                     expression: Identifier(
                      Identifier {
                       id: "lib",
                       span: Span {
                        start: Position {
                         line: 190,
                         column: 43,
                        },
                        end: Position {
                         line: 190,
                         column: 46,
                        },
                       },
                      },
                     ),
                     attribute_path: [
                      Raw(
                       PartRaw {
                        content: "toList",
                        span: Span {
                         start: Position {
                          line: 190,
                          column: 47,
                         },
                         end: Position {
                          line: 190,
                          column: 53,
                         },
                        },
                       },
                      ),
                     ],
                     default: None,
                    },
                   ),
                   arguments: [
                    PropertyAccess(
                     PropertyAccess {
                      expression: Identifier(
                       Identifier {
                        id: "package",
                        span: Span {
                         start: Position {
                          line: 190,
                          column: 55,
                         },
                         end: Position {
                          line: 190,
                          column: 62,
                         },
                        },
                       },
                      ),
                      attribute_path: [
                       Raw(
                        PartRaw {
                         content: "updateScript",
                         span: Span {
                          start: Position {
                           line: 190,
                           column: 63,
                          },
                          end: Position {
                           line: 190,
                           column: 75,
                          },
                         },
                        },
                       ),
                       Raw(
                        PartRaw {
                         content: "command",
                         span: Span {
                          start: Position {
                           line: 190,
                           column: 76,
                          },
                          end: Position {
                           line: 190,
                           column: 83,
                          },
                         },
                        },
                       ),
                      ],
                      default: Some(
                       PropertyAccess(
                        PropertyAccess {
                         expression: Identifier(
                          Identifier {
                           id: "package",
                           span: Span {
                            start: Position {
                             line: 190,
                             column: 87,
                            },
                            end: Position {
                             line: 190,
                             column: 94,
                            },
                           },
                          },
                         ),
                         attribute_path: [
                          Raw(
                           PartRaw {
                            content: "updateScript",
                            span: Span {
                             start: Position {
                              line: 190,
                              column: 95,
                             },
                             end: Position {
                              line: 190,
                              column: 107,
                             },
                            },
                           },
                          ),
                         ],
                         default: None,
                        },
                       ),
                      ),
                     },
                    ),
                   ],
                  },
                 ),
                ],
               },
              ),
             },
            ),
            KeyValue(
             BindingKeyValue {
              from: [
               Raw(
                PartRaw {
                 content: "supportedFeatures",
                 span: Span {
                  start: Position {
                   line: 191,
                   column: 5,
                  },
                  end: Position {
                   line: 191,
                   column: 22,
                  },
                 },
                },
               ),
              ],
              to: PropertyAccess(
               PropertyAccess {
                expression: Identifier(
                 Identifier {
                  id: "package",
                  span: Span {
                   start: Position {
                    line: 191,
                    column: 25,
                   },
                   end: Position {
                    line: 191,
                    column: 32,
                   },
                  },
                 },
                ),
                attribute_path: [
                 Raw(
                  PartRaw {
                   content: "updateScript",
                   span: Span {
                    start: Position {
                     line: 191,
                     column: 33,
                    },
                    end: Position {
                     line: 191,
                     column: 45,
                    },
                   },
                  },
                 ),
                 Raw(
                  PartRaw {
                   content: "supportedFeatures",
                   span: Span {
                    start: Position {
                     line: 191,
                     column: 46,
                    },
                    end: Position {
                     line: 191,
                     column: 63,
                    },
                   },
                  },
                 ),
                ],
                default: Some(
                 List(
                  List {
                   elements: [],
                   span: Span {
                    start: Position {
                     line: 191,
                     column: 67,
                    },
                    end: Position {
                     line: 191,
                     column: 69,
                    },
                   },
                  },
                 ),
                ),
               },
              ),
             },
            ),
            KeyValue(
             BindingKeyValue {
              from: [
               Raw(
                PartRaw {
                 content: "attrPath",
                 span: Span {
                  start: Position {
                   line: 192,
                   column: 5,
                  },
                  end: Position {
                   line: 192,
                   column: 13,
                  },
                 },
                },
               ),
              ],
              to: PropertyAccess(
               PropertyAccess {
                expression: Identifier(
                 Identifier {
                  id: "package",
                  span: Span {
                   start: Position {
                    line: 192,
                    column: 16,
                   },
                   end: Position {
                    line: 192,
                    column: 23,
                   },
                  },
                 },
                ),
                attribute_path: [
                 Raw(
                  PartRaw {
                   content: "updateScript",
                   span: Span {
                    start: Position {
                     line: 192,
                     column: 24,
                    },
                    end: Position {
                     line: 192,
                     column: 36,
                    },
                   },
                  },
                 ),
                 Raw(
                  PartRaw {
                   content: "attrPath",
                   span: Span {
                    start: Position {
                     line: 192,
                     column: 37,
                    },
                    end: Position {
                     line: 192,
                     column: 45,
                    },
                   },
                  },
                 ),
                ],
                default: Some(
                 Identifier(
                  Identifier {
                   id: "attrPath",
                   span: Span {
                    start: Position {
                     line: 192,
                     column: 49,
                    },
                    end: Position {
                     line: 192,
                     column: 57,
                    },
                   },
                  },
                 ),
                ),
               },
              ),
             },
            ),
           ],
           span: Span {
            start: Position {
             line: 186,
             column: 40,
            },
            end: Position {
             line: 193,
             column: 4,
            },
           },
          },
         ),
         span: Span {
          start: Position {
           line: 186,
           column: 17,
          },
          end: Position {
           line: 193,
           column: 4,
          },
         },
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "packagesJson",
          span: Span {
           start: Position {
            line: 197,
            column: 3,
           },
           end: Position {
            line: 197,
            column: 15,
           },
          },
         },
        ),
       ],
       to: FunctionApplication(
        FunctionApplication {
         function: PropertyAccess(
          PropertyAccess {
           expression: Identifier(
            Identifier {
             id: "pkgs",
             span: Span {
              start: Position {
               line: 197,
               column: 18,
              },
              end: Position {
               line: 197,
               column: 22,
              },
             },
            },
           ),
           attribute_path: [
            Raw(
             PartRaw {
              content: "writeText",
              span: Span {
               start: Position {
                line: 197,
                column: 23,
               },
               end: Position {
                line: 197,
                column: 32,
               },
              },
             },
            ),
           ],
           default: None,
          },
         ),
         arguments: [
          String(
           String_ {
            parts: [
             Raw(
              PartRaw {
               content: "packages.json",
               span: Span {
                start: Position {
                 line: 197,
                 column: 34,
                },
                end: Position {
                 line: 197,
                 column: 47,
                },
               },
              },
             ),
            ],
            span: Span {
             start: Position {
              line: 197,
              column: 33,
             },
             end: Position {
              line: 197,
              column: 48,
             },
            },
           },
          ),
          FunctionApplication(
           FunctionApplication {
            function: PropertyAccess(
             PropertyAccess {
              expression: Identifier(
               Identifier {
                id: "builtins",
                span: Span {
                 start: Position {
                  line: 197,
                  column: 50,
                 },
                 end: Position {
                  line: 197,
                  column: 58,
                 },
                },
               },
              ),
              attribute_path: [
               Raw(
                PartRaw {
                 content: "toJSON",
                 span: Span {
                  start: Position {
                   line: 197,
                   column: 59,
                  },
                  end: Position {
                   line: 197,
                   column: 65,
                  },
                 },
                },
               ),
              ],
              default: None,
             },
            ),
            arguments: [
             FunctionApplication(
              FunctionApplication {
               function: Identifier(
                Identifier {
                 id: "map",
                 span: Span {
                  start: Position {
                   line: 197,
                   column: 67,
                  },
                  end: Position {
                   line: 197,
                   column: 70,
                  },
                 },
                },
               ),
               arguments: [
                Identifier(
                 Identifier {
                  id: "packageData",
                  span: Span {
                   start: Position {
                    line: 197,
                    column: 71,
                   },
                   end: Position {
                    line: 197,
                    column: 82,
                   },
                  },
                 },
                ),
                Identifier(
                 Identifier {
                  id: "packages",
                  span: Span {
                   start: Position {
                    line: 197,
                    column: 83,
                   },
                   end: Position {
                    line: 197,
                    column: 91,
                   },
                  },
                 },
                ),
               ],
              },
             ),
            ],
           },
          ),
         ],
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "optionalArgs",
          span: Span {
           start: Position {
            line: 199,
            column: 3,
           },
           end: Position {
            line: 199,
            column: 15,
           },
          },
         },
        ),
       ],
       to: BinaryOperation(
        BinaryOperation {
         left: FunctionApplication(
          FunctionApplication {
           function: PropertyAccess(
            PropertyAccess {
             expression: Identifier(
              Identifier {
               id: "lib",
               span: Span {
                start: Position {
                 line: 200,
                 column: 5,
                },
                end: Position {
                 line: 200,
                 column: 8,
                },
               },
              },
             ),
             attribute_path: [
              Raw(
               PartRaw {
                content: "optional",
                span: Span {
                 start: Position {
                  line: 200,
                  column: 9,
                 },
                 end: Position {
                  line: 200,
                  column: 17,
                 },
                },
               },
              ),
             ],
             default: None,
            },
           ),
           arguments: [
            BinaryOperation(
             BinaryOperation {
              left: Identifier(
               Identifier {
                id: "max-workers",
                span: Span {
                 start: Position {
                  line: 200,
                  column: 19,
                 },
                 end: Position {
                  line: 200,
                  column: 30,
                 },
                },
               },
              ),
              operator: NotEqualTo,
              right: Identifier(
               Identifier {
                id: "null",
                span: Span {
                 start: Position {
                  line: 200,
                  column: 34,
                 },
                 end: Position {
                  line: 200,
                  column: 38,
                 },
                },
               },
              ),
             },
            ),
            String(
             String_ {
              parts: [
               Raw(
                PartRaw {
                 content: "--max-workers=",
                 span: Span {
                  start: Position {
                   line: 200,
                   column: 41,
                  },
                  end: Position {
                   line: 200,
                   column: 69,
                  },
                 },
                },
               ),
               Interpolation(
                PartInterpolation {
                 expression: Identifier(
                  Identifier {
                   id: "max-workers",
                   span: Span {
                    start: Position {
                     line: 200,
                     column: 57,
                    },
                    end: Position {
                     line: 200,
                     column: 68,
                    },
                   },
                  },
                 ),
                },
               ),
              ],
              span: Span {
               start: Position {
                line: 200,
                column: 40,
               },
               end: Position {
                line: 200,
                column: 70,
               },
              },
             },
            ),
           ],
          },
         ),
         operator: Concatenation,
         right: BinaryOperation(
          BinaryOperation {
           left: FunctionApplication(
            FunctionApplication {
             function: PropertyAccess(
              PropertyAccess {
               expression: Identifier(
                Identifier {
                 id: "lib",
                 span: Span {
                  start: Position {
                   line: 201,
                   column: 8,
                  },
                  end: Position {
                   line: 201,
                   column: 11,
                  },
                 },
                },
               ),
               attribute_path: [
                Raw(
                 PartRaw {
                  content: "optional",
                  span: Span {
                   start: Position {
                    line: 201,
                    column: 12,
                   },
                   end: Position {
                    line: 201,
                    column: 20,
                   },
                  },
                 },
                ),
               ],
               default: None,
              },
             ),
             arguments: [
              BinaryOperation(
               BinaryOperation {
                left: Identifier(
                 Identifier {
                  id: "keep-going",
                  span: Span {
                   start: Position {
                    line: 201,
                    column: 22,
                   },
                   end: Position {
                    line: 201,
                    column: 32,
                   },
                  },
                 },
                ),
                operator: EqualTo,
                right: String(
                 String_ {
                  parts: [
                   Raw(
                    PartRaw {
                     content: "true",
                     span: Span {
                      start: Position {
                       line: 201,
                       column: 37,
                      },
                      end: Position {
                       line: 201,
                       column: 41,
                      },
                     },
                    },
                   ),
                  ],
                  span: Span {
                   start: Position {
                    line: 201,
                    column: 36,
                   },
                   end: Position {
                    line: 201,
                    column: 42,
                   },
                  },
                 },
                ),
               },
              ),
              String(
               String_ {
                parts: [
                 Raw(
                  PartRaw {
                   content: "--keep-going",
                   span: Span {
                    start: Position {
                     line: 201,
                     column: 45,
                    },
                    end: Position {
                     line: 201,
                     column: 57,
                    },
                   },
                  },
                 ),
                ],
                span: Span {
                 start: Position {
                  line: 201,
                  column: 44,
                 },
                 end: Position {
                  line: 201,
                  column: 58,
                 },
                },
               },
              ),
             ],
            },
           ),
           operator: Concatenation,
           right: FunctionApplication(
            FunctionApplication {
             function: PropertyAccess(
              PropertyAccess {
               expression: Identifier(
                Identifier {
                 id: "lib",
                 span: Span {
                  start: Position {
                   line: 202,
                   column: 8,
                  },
                  end: Position {
                   line: 202,
                   column: 11,
                  },
                 },
                },
               ),
               attribute_path: [
                Raw(
                 PartRaw {
                  content: "optional",
                  span: Span {
                   start: Position {
                    line: 202,
                    column: 12,
                   },
                   end: Position {
                    line: 202,
                    column: 20,
                   },
                  },
                 },
                ),
               ],
               default: None,
              },
             ),
             arguments: [
              BinaryOperation(
               BinaryOperation {
                left: Identifier(
                 Identifier {
                  id: "commit",
                  span: Span {
                   start: Position {
                    line: 202,
                    column: 22,
                   },
                   end: Position {
                    line: 202,
                    column: 28,
                   },
                  },
                 },
                ),
                operator: EqualTo,
                right: String(
                 String_ {
                  parts: [
                   Raw(
                    PartRaw {
                     content: "true",
                     span: Span {
                      start: Position {
                       line: 202,
                       column: 33,
                      },
                      end: Position {
                       line: 202,
                       column: 37,
                      },
                     },
                    },
                   ),
                  ],
                  span: Span {
                   start: Position {
                    line: 202,
                    column: 32,
                   },
                   end: Position {
                    line: 202,
                    column: 38,
                   },
                  },
                 },
                ),
               },
              ),
              String(
               String_ {
                parts: [
                 Raw(
                  PartRaw {
                   content: "--commit",
                   span: Span {
                    start: Position {
                     line: 202,
                     column: 41,
                    },
                    end: Position {
                     line: 202,
                     column: 49,
                    },
                   },
                  },
                 ),
                ],
                span: Span {
                 start: Position {
                  line: 202,
                  column: 40,
                 },
                 end: Position {
                  line: 202,
                  column: 50,
                 },
                },
               },
              ),
             ],
            },
           ),
          },
         ),
        },
       ),
      },
     ),
     KeyValue(
      BindingKeyValue {
       from: [
        Raw(
         PartRaw {
          content: "args",
          span: Span {
           start: Position {
            line: 204,
            column: 3,
           },
           end: Position {
            line: 204,
            column: 7,
           },
          },
         },
        ),
       ],
       to: BinaryOperation(
        BinaryOperation {
         left: List(
          List {
           elements: [
            Identifier(
             Identifier {
              id: "packagesJson",
              span: Span {
               start: Position {
                line: 204,
                column: 12,
               },
               end: Position {
                line: 204,
                column: 24,
               },
              },
             },
            ),
           ],
           span: Span {
            start: Position {
             line: 204,
             column: 10,
            },
            end: Position {
             line: 204,
             column: 26,
            },
           },
          },
         ),
         operator: Concatenation,
         right: Identifier(
          Identifier {
           id: "optionalArgs",
           span: Span {
            start: Position {
             line: 204,
             column: 30,
            },
            end: Position {
             line: 204,
             column: 42,
            },
           },
          },
         ),
        },
       ),
      },
     ),
    ],
    target: FunctionApplication(
     FunctionApplication {
      function: PropertyAccess(
       PropertyAccess {
        expression: Identifier(
         Identifier {
          id: "pkgs",
          span: Span {
           start: Position {
            line: 206,
            column: 4,
           },
           end: Position {
            line: 206,
            column: 8,
           },
          },
         },
        ),
        attribute_path: [
         Raw(
          PartRaw {
           content: "stdenv",
           span: Span {
            start: Position {
             line: 206,
             column: 9,
            },
            end: Position {
             line: 206,
             column: 15,
            },
           },
          },
         ),
         Raw(
          PartRaw {
           content: "mkDerivation",
           span: Span {
            start: Position {
             line: 206,
             column: 16,
            },
            end: Position {
             line: 206,
             column: 28,
            },
           },
          },
         ),
        ],
        default: None,
       },
      ),
      arguments: [
       Map(
        Map {
         recursive: false,
         bindings: [
          KeyValue(
           BindingKeyValue {
            from: [
             Raw(
              PartRaw {
               content: "name",
               span: Span {
                start: Position {
                 line: 207,
                 column: 3,
                },
                end: Position {
                 line: 207,
                 column: 7,
                },
               },
              },
             ),
            ],
            to: String(
             String_ {
              parts: [
               Raw(
                PartRaw {
                 content: "nixpkgs-update-script",
                 span: Span {
                  start: Position {
                   line: 207,
                   column: 11,
                  },
                  end: Position {
                   line: 207,
                   column: 32,
                  },
                 },
                },
               ),
              ],
              span: Span {
               start: Position {
                line: 207,
                column: 10,
               },
               end: Position {
                line: 207,
                column: 33,
               },
              },
             },
            ),
           },
          ),
          KeyValue(
           BindingKeyValue {
            from: [
             Raw(
              PartRaw {
               content: "buildCommand",
               span: Span {
                start: Position {
                 line: 208,
                 column: 3,
                },
                end: Position {
                 line: 208,
                 column: 15,
                },
               },
              },
             ),
            ],
            to: IndentedString(
             IndentedString {
              parts: [
               Raw(
                PartRaw {
                 content: "echo \"\"\necho \"----------------------------------------------------------------\"\necho \"\"\necho \"Not possible to update packages using \\`nix-build\\`\"\necho \"\"\necho \"",
                 span: Span {
                  start: Position {
                   line: 209,
                   column: 1,
                  },
                  end: Position {
                   line: 214,
                   column: 11,
                  },
                 },
                },
               ),
               Interpolation(
                PartInterpolation {
                 expression: Identifier(
                  Identifier {
                   id: "helpText",
                   span: Span {
                    start: Position {
                     line: 214,
                     column: 13,
                    },
                    end: Position {
                     line: 214,
                     column: 21,
                    },
                   },
                  },
                 ),
                },
               ),
               Raw(
                PartRaw {
                 content: "\"\necho \"----------------------------------------------------------------\"\nexit 1\n",
                 span: Span {
                  start: Position {
                   line: 209,
                   column: 1,
                  },
                  end: Position {
                   line: 217,
                   column: 3,
                  },
                 },
                },
               ),
              ],
              span: Span {
               start: Position {
                line: 208,
                column: 18,
               },
               end: Position {
                line: 217,
                column: 5,
               },
              },
             },
            ),
           },
          ),
          KeyValue(
           BindingKeyValue {
            from: [
             Raw(
              PartRaw {
               content: "shellHook",
               span: Span {
                start: Position {
                 line: 218,
                 column: 3,
                },
                end: Position {
                 line: 218,
                 column: 12,
                },
               },
              },
             ),
            ],
            to: IndentedString(
             IndentedString {
              parts: [
               Raw(
                PartRaw {
                 content: "unset shellHook # do not contaminate nested shells\nexec ",
                 span: Span {
                  start: Position {
                   line: 219,
                   column: 1,
                  },
                  end: Position {
                   line: 220,
                   column: 10,
                  },
                 },
                },
               ),
               Interpolation(
                PartInterpolation {
                 expression: PropertyAccess(
                  PropertyAccess {
                   expression: Identifier(
                    Identifier {
                     id: "pkgs",
                     span: Span {
                      start: Position {
                       line: 220,
                       column: 12,
                      },
                      end: Position {
                       line: 220,
                       column: 16,
                      },
                     },
                    },
                   ),
                   attribute_path: [
                    Raw(
                     PartRaw {
                      content: "python3",
                      span: Span {
                       start: Position {
                        line: 220,
                        column: 17,
                       },
                       end: Position {
                        line: 220,
                        column: 24,
                       },
                      },
                     },
                    ),
                    Raw(
                     PartRaw {
                      content: "interpreter",
                      span: Span {
                       start: Position {
                        line: 220,
                        column: 25,
                       },
                       end: Position {
                        line: 220,
                        column: 36,
                       },
                      },
                     },
                    ),
                   ],
                   default: None,
                  },
                 ),
                },
               ),
               Raw(
                PartRaw {
                 content: " ",
                 span: Span {
                  start: Position {
                   line: 219,
                   column: 1,
                  },
                  end: Position {
                   line: 220,
                   column: 38,
                  },
                 },
                },
               ),
               Interpolation(
                PartInterpolation {
                 expression: Path(
                  Path {
                   parts: [
                    Raw(
                     PartRaw {
                      content: "./update.py",
                      span: Span {
                       start: Position {
                        line: 220,
                        column: 40,
                       },
                       end: Position {
                        line: 220,
                        column: 51,
                       },
                      },
                     },
                    ),
                   ],
                   span: Span {
                    start: Position {
                     line: 220,
                     column: 40,
                    },
                    end: Position {
                     line: 220,
                     column: 51,
                    },
                   },
                  },
                 ),
                },
               ),
               Raw(
                PartRaw {
                 content: " ",
                 span: Span {
                  start: Position {
                   line: 219,
                   column: 1,
                  },
                  end: Position {
                   line: 220,
                   column: 53,
                  },
                 },
                },
               ),
               Interpolation(
                PartInterpolation {
                 expression: FunctionApplication(
                  FunctionApplication {
                   function: PropertyAccess(
                    PropertyAccess {
                     expression: Identifier(
                      Identifier {
                       id: "builtins",
                       span: Span {
                        start: Position {
                         line: 220,
                         column: 55,
                        },
                        end: Position {
                         line: 220,
                         column: 63,
                        },
                       },
                      },
                     ),
                     attribute_path: [
                      Raw(
                       PartRaw {
                        content: "concatStringsSep",
                        span: Span {
                         start: Position {
                          line: 220,
                          column: 64,
                         },
                         end: Position {
                          line: 220,
                          column: 80,
                         },
                        },
                       },
                      ),
                     ],
                     default: None,
                    },
                   ),
                   arguments: [
                    String(
                     String_ {
                      parts: [
                       Raw(
                        PartRaw {
                         content: " ",
                         span: Span {
                          start: Position {
                           line: 220,
                           column: 82,
                          },
                          end: Position {
                           line: 220,
                           column: 83,
                          },
                         },
                        },
                       ),
                      ],
                      span: Span {
                       start: Position {
                        line: 220,
                        column: 81,
                       },
                       end: Position {
                        line: 220,
                        column: 84,
                       },
                      },
                     },
                    ),
                    Identifier(
                     Identifier {
                      id: "args",
                      span: Span {
                       start: Position {
                        line: 220,
                        column: 85,
                       },
                       end: Position {
                        line: 220,
                        column: 89,
                       },
                      },
                     },
                    ),
                   ],
                  },
                 ),
                },
               ),
               Raw(
                PartRaw {
                 content: "\n",
                 span: Span {
                  start: Position {
                   line: 219,
                   column: 1,
                  },
                  end: Position {
                   line: 221,
                   column: 3,
                  },
                 },
                },
               ),
              ],
              span: Span {
               start: Position {
                line: 218,
                column: 15,
               },
               end: Position {
                line: 221,
                column: 5,
               },
              },
             },
            ),
           },
          ),
         ],
         span: Span {
          start: Position {
           line: 206,
           column: 29,
          },
          end: Position {
           line: 222,
           column: 2,
          },
         },
        },
       ),
      ],
     },
    ),
    span: Span {
     start: Position {
      line: 13,
      column: 1,
     },
     end: Position {
      line: 222,
      column: 2,
     },
    },
   },
  ),
  span: Span {
   start: Position {
    line: 1,
    column: 1,
   },
   end: Position {
    line: 222,
    column: 2,
   },
  },
 },
)