---
Function {
 argument: Destructured {
  identifier: None,
  arguments: [
   DestructuredArgument {
    identifier: "lib",
    default: None,
   },
  ],
  ellipsis: false,
 },
 definition: LetIn {
  bindings: [
   Binding {
    from: AttributePath {
     parts: [
      Raw {
       content: "evalModules",
       position: (30, 3),
      },
     ],
    },
    to: Function {
     argument: Destructured {
      identifier: None,
      arguments: [
       DestructuredArgument {
        identifier: "prefix",
        default: Some(
         List {
          elements: [],
          position: (31, 14),
         },
        ),
       },
       DestructuredArgument {
        identifier: "modules",
        default: Some(
         List {
          elements: [],
          position: (32, 15),
         },
        ),
       },
       DestructuredArgument {
        identifier: "specialArgs",
        default: Some(
         Map {
          bindings: [],
          recursive: false,
          position: (33, 19),
         },
        ),
       },
      ],
      ellipsis: false,
     },
     definition: FunctionApplication {
      function: PropertyAccess {
       expression: Variable {
        identifier: "lib",
        position: (39, 3),
       },
       attribute_path: AttributePath {
        parts: [
         Raw {
          content: "evalModules",
          position: (39, 7),
         },
        ],
       },
       default: None,
      },
      arguments: [
       Map {
        bindings: [
         Inherit {
          from: None,
          attributes: [
           Raw {
            content: "prefix",
            position: (40, 13),
           },
           Raw {
            content: "modules",
            position: (40, 20),
           },
          ],
         },
         Binding {
          from: AttributePath {
           parts: [
            Raw {
             content: "specialArgs",
             position: (41, 5),
            },
           ],
          },
          to: BinaryOperation {
           operator: Update,
           operands: [
            Map {
             bindings: [
              Binding {
               from: AttributePath {
                parts: [
                 Raw {
                  content: "modulesPath",
                  position: (42, 7),
                 },
                ],
               },
               to: FunctionApplication {
                function: PropertyAccess {
                 expression: Variable {
                  identifier: "builtins",
                  position: (42, 21),
                 },
                 attribute_path: AttributePath {
                  parts: [
                   Raw {
                    content: "toString",
                    position: (42, 30),
                   },
                  ],
                 },
                 default: None,
                },
                arguments: [
                 Path {
                  parts: [
                   Raw {
                    content: "../modules",
                    position: (42, 39),
                   },
                  ],
                  position: (42, 39),
                 },
                ],
               },
              },
             ],
             recursive: false,
             position: (41, 19),
            },
            Variable {
             identifier: "specialArgs",
             position: (43, 10),
            },
           ],
           position: (43, 7),
          },
         },
        ],
        recursive: false,
        position: (39, 19),
       },
      ],
     },
     position: (30, 17),
    },
   },
  ],
  target: Map {
   bindings: [
    Inherit {
     from: None,
     attributes: [
      Raw {
       content: "evalModules",
       position: (48, 11),
      },
     ],
    },
   ],
   recursive: false,
   position: (47, 1),
  },
  position: (5, 1),
 },
 position: (3, 1),
}