---
LetIn {
 bindings: [
  KeyValue(
   AttributePath {
    attributes: [
     Raw {
      content: "tests",
      position: (3, 5),
     },
    ],
   },
   List {
    elements: [
     String {
      parts: [
       Raw {
        content: "misc",
        position: (3, 16),
       },
      ],
     },
     String {
      parts: [
       Raw {
        content: "systems",
        position: (3, 23),
       },
      ],
     },
    ],
    position: (3, 13),
   },
  ),
  KeyValue(
   AttributePath {
    attributes: [
     Raw {
      content: "all",
      position: (4, 5),
     },
    ],
   },
   FunctionApplication {
    function: PropertyAccess {
     expression: Variable {
      identifier: "builtins",
      position: (4, 11),
     },
     attribute_path: AttributePath {
      attributes: [
       Raw {
        content: "concatLists",
        position: (4, 20),
       },
      ],
     },
     default: None,
    },
    arguments: [
     FunctionApplication {
      function: Variable {
       identifier: "map",
       position: (4, 33),
      },
      arguments: [
       Function {
        argument: Some(
         "f",
        ),
        arguments: FunctionArguments {
         arguments: [],
         ellipsis: false,
        },
        definition: FunctionApplication {
         function: Variable {
          identifier: "import",
          position: (4, 41),
         },
         arguments: [
          BinaryOperation {
           operator: Addition,
           operands: [
            Path {
             parts: [
              Raw {
               content: "./.",
               position: (4, 49),
              },
             ],
            },
            String {
             parts: [
              Raw {
               content: "/",
               position: (4, 56),
              },
              Expression {
               expression: Variable {
                identifier: "f",
                position: (4, 59),
               },
              },
              Raw {
               content: ".nix",
               position: (4, 61),
              },
             ],
            },
           ],
           position: (4, 53),
          },
         ],
        },
        position: (4, 38),
       },
       Variable {
        identifier: "tests",
        position: (4, 69),
       },
      ],
     },
    ],
   },
  ),
 ],
 target: IfThenElse {
  predicate: BinaryOperation {
   operator: EqualTo,
   operands: [
    Variable {
     identifier: "all",
     position: (5, 7),
    },
    List {
     elements: [],
     position: (5, 14),
    },
   ],
   position: (5, 11),
  },
  then: Variable {
   identifier: "null",
   position: (6, 11),
  },
  else_: FunctionApplication {
   function: Variable {
    identifier: "throw",
    position: (7, 9),
   },
   arguments: [
    FunctionApplication {
     function: PropertyAccess {
      expression: Variable {
       identifier: "builtins",
       position: (7, 16),
      },
      attribute_path: AttributePath {
       attributes: [
        Raw {
         content: "toJSON",
         position: (7, 25),
        },
       ],
      },
      default: None,
     },
     arguments: [
      Variable {
       identifier: "all",
       position: (7, 32),
      },
     ],
    },
   ],
  },
  position: (5, 4),
 },
 position: (3, 1),
}