---
Function {
 argument: Simple {
  identifier: "name",
 },
 definition: Function {
  argument: Simple {
   identifier: "default",
  },
  definition: LetIn {
   bindings: [
    Binding {
     from: AttributePath {
      parts: [
       Raw {
        content: "value",
        position: (3, 5),
       },
      ],
     },
     to: FunctionApplication {
      function: PropertyAccess {
       expression: Variable {
        identifier: "builtins",
        position: (3, 13),
       },
       attribute_path: AttributePath {
        parts: [
         Raw {
          content: "getEnv",
          position: (3, 22),
         },
        ],
       },
       default: None,
      },
      arguments: [
       Variable {
        identifier: "name",
        position: (3, 29),
       },
      ],
     },
    },
   ],
   target: IfThenElse {
    predicate: BinaryOperation {
     operator: EqualTo,
     operands: [
      Variable {
       identifier: "value",
       position: (4, 4),
      },
      String {
       parts: [],
       position: (4, 13),
      },
     ],
     position: (4, 10),
    },
    then: Variable {
     identifier: "default",
     position: (4, 21),
    },
    else_: Variable {
     identifier: "value",
     position: (4, 34),
    },
    position: (4, 1),
   },
   position: (3, 1),
  },
  position: (2, 7),
 },
 position: (2, 1),
}