---
Function {
 argument: None,
 arguments: FunctionArguments {
  arguments: [
   FunctionArgument {
    identifier: "file",
    default: None,
   },
  ],
  ellipsis: false,
 },
 definition: FunctionApplication {
  function: PropertyAccess {
   expression: Variable {
    identifier: "builtins",
    position: (3, 1),
   },
   attribute_path: AttributePath {
    attributes: [
     Raw {
      content: "attrValues",
      position: (3, 10),
     },
    ],
   },
   default: None,
  },
  arguments: [
   FunctionApplication {
    function: PropertyAccess {
     expression: Variable {
      identifier: "builtins",
      position: (4, 4),
     },
     attribute_path: AttributePath {
      attributes: [
       Raw {
        content: "mapAttrs",
        position: (4, 13),
       },
      ],
     },
     default: None,
    },
    arguments: [
     Function {
      argument: Some(
       "name",
      ),
      arguments: FunctionArguments {
       arguments: [],
       ellipsis: false,
      },
      definition: Function {
       argument: Some(
        "def",
       ),
       arguments: FunctionArguments {
        arguments: [],
        ellipsis: false,
       },
       definition: BinaryOperation {
        operator: Update,
        operands: [
         Variable {
          identifier: "def",
          position: (5, 17),
         },
         Map {
          bindings: [
           Inherit(
            None,
            [
             Raw {
              content: "name",
              position: (5, 34),
             },
            ],
           ),
          ],
          recursive: false,
          position: (5, 24),
         },
        ],
        position: (5, 21),
       },
       position: (5, 12),
      },
      position: (5, 6),
     },
     FunctionApplication {
      function: PropertyAccess {
       expression: Variable {
        identifier: "builtins",
        position: (6, 6),
       },
       attribute_path: AttributePath {
        attributes: [
         Raw {
          content: "fromJSON",
          position: (6, 15),
         },
        ],
       },
       default: None,
      },
      arguments: [
       FunctionApplication {
        function: PropertyAccess {
         expression: Variable {
          identifier: "builtins",
          position: (6, 25),
         },
         attribute_path: AttributePath {
          attributes: [
           Raw {
            content: "readFile",
            position: (6, 34),
           },
          ],
         },
         default: None,
        },
        arguments: [
         Variable {
          identifier: "file",
          position: (6, 43),
         },
        ],
       },
      ],
     },
    ],
   },
  ],
 },
 position: (1, 1),
}