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