---
Function {
 argument: None,
 arguments: FunctionArguments {
  arguments: [
   FunctionArgument {
    identifier: "lib",
    default: None,
   },
  ],
  ellipsis: false,
 },
 definition: With {
  expression: Variable {
   identifier: "lib",
   position: (4, 6),
  },
  target: Map {
   bindings: [
    KeyValue(
     AttributePath {
      attributes: [
       Raw {
        content: "options",
        position: (7, 3),
       },
      ],
     },
     Map {
      bindings: [
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "displayName",
           position: (9, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "mkOption",
          position: (9, 19),
         },
         arguments: [
          Map {
           bindings: [
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "type",
                position: (10, 7),
               },
              ],
             },
             PropertyAccess {
              expression: Variable {
               identifier: "types",
               position: (10, 14),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "str",
                 position: (10, 20),
                },
               ],
              },
              default: None,
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "default",
                position: (11, 7),
               },
              ],
             },
             String {
              parts: [],
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "example",
                position: (12, 7),
               },
              ],
             },
             FunctionApplication {
              function: Variable {
               identifier: "literalExpression",
               position: (12, 17),
              },
              arguments: [
               String {
                parts: [
                 Raw {
                  content: "\"Python 3\"\n\"Python 3 for Data Science\"\n",
                  position: (13, 1),
                 },
                ],
               },
              ],
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "description",
                position: (16, 7),
               },
              ],
             },
             String {
              parts: [
               Raw {
                content: "Name that will be shown to the user.\n",
                position: (17, 1),
               },
              ],
             },
            ),
           ],
           recursive: false,
           position: (9, 28),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "argv",
           position: (21, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "mkOption",
          position: (21, 12),
         },
         arguments: [
          Map {
           bindings: [
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "type",
                position: (22, 7),
               },
              ],
             },
             FunctionApplication {
              function: PropertyAccess {
               expression: Variable {
                identifier: "types",
                position: (22, 14),
               },
               attribute_path: AttributePath {
                attributes: [
                 Raw {
                  content: "listOf",
                  position: (22, 20),
                 },
                ],
               },
               default: None,
              },
              arguments: [
               PropertyAccess {
                expression: Variable {
                 identifier: "types",
                 position: (22, 27),
                },
                attribute_path: AttributePath {
                 attributes: [
                  Raw {
                   content: "str",
                   position: (22, 33),
                  },
                 ],
                },
                default: None,
               },
              ],
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "example",
                position: (23, 7),
               },
              ],
             },
             List {
              elements: [
               String {
                parts: [
                 Raw {
                  content: "{customEnv.interpreter}",
                  position: (24, 10),
                 },
                ],
               },
               String {
                parts: [
                 Raw {
                  content: "-m",
                  position: (25, 10),
                 },
                ],
               },
               String {
                parts: [
                 Raw {
                  content: "ipykernel_launcher",
                  position: (26, 10),
                 },
                ],
               },
               String {
                parts: [
                 Raw {
                  content: "-f",
                  position: (27, 10),
                 },
                ],
               },
               String {
                parts: [
                 Raw {
                  content: "{connection_file}",
                  position: (28, 10),
                 },
                ],
               },
              ],
              position: (23, 17),
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "description",
                position: (30, 7),
               },
              ],
             },
             String {
              parts: [
               Raw {
                content: "Command and arguments to start the kernel.\n",
                position: (31, 1),
               },
              ],
             },
            ),
           ],
           recursive: false,
           position: (21, 21),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "language",
           position: (35, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "mkOption",
          position: (35, 16),
         },
         arguments: [
          Map {
           bindings: [
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "type",
                position: (36, 7),
               },
              ],
             },
             PropertyAccess {
              expression: Variable {
               identifier: "types",
               position: (36, 14),
              },
              attribute_path: AttributePath {
               attributes: [
                Raw {
                 content: "str",
                 position: (36, 20),
                },
               ],
              },
              default: None,
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "example",
                position: (37, 7),
               },
              ],
             },
             String {
              parts: [
               Raw {
                content: "python",
                position: (37, 18),
               },
              ],
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "description",
                position: (38, 7),
               },
              ],
             },
             String {
              parts: [
               Raw {
                content: "Language of the environment. Typically the name of the binary.\n",
                position: (39, 1),
               },
              ],
             },
            ),
           ],
           recursive: false,
           position: (35, 25),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "logo32",
           position: (43, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "mkOption",
          position: (43, 14),
         },
         arguments: [
          Map {
           bindings: [
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "type",
                position: (44, 7),
               },
              ],
             },
             FunctionApplication {
              function: PropertyAccess {
               expression: Variable {
                identifier: "types",
                position: (44, 14),
               },
               attribute_path: AttributePath {
                attributes: [
                 Raw {
                  content: "nullOr",
                  position: (44, 20),
                 },
                ],
               },
               default: None,
              },
              arguments: [
               PropertyAccess {
                expression: Variable {
                 identifier: "types",
                 position: (44, 27),
                },
                attribute_path: AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (44, 33),
                  },
                 ],
                },
                default: None,
               },
              ],
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "default",
                position: (45, 7),
               },
              ],
             },
             Variable {
              identifier: "null",
              position: (45, 17),
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "example",
                position: (46, 7),
               },
              ],
             },
             FunctionApplication {
              function: Variable {
               identifier: "literalExpression",
               position: (46, 17),
              },
              arguments: [
               String {
                parts: [
                 Raw {
                  content: "\"",
                  position: (46, 37),
                 },
                 Raw {
                  content: "$",
                  position: (46, 38),
                 },
                 Raw {
                  content: "{env.sitePackages}/ipykernel/resources/logo-32x32.png\"",
                  position: (46, 41),
                 },
                ],
               },
              ],
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "description",
                position: (47, 7),
               },
              ],
             },
             String {
              parts: [
               Raw {
                content: "Path to 32x32 logo png.\n",
                position: (48, 1),
               },
              ],
             },
            ),
           ],
           recursive: false,
           position: (43, 23),
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "logo64",
           position: (51, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "mkOption",
          position: (51, 14),
         },
         arguments: [
          Map {
           bindings: [
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "type",
                position: (52, 7),
               },
              ],
             },
             FunctionApplication {
              function: PropertyAccess {
               expression: Variable {
                identifier: "types",
                position: (52, 14),
               },
               attribute_path: AttributePath {
                attributes: [
                 Raw {
                  content: "nullOr",
                  position: (52, 20),
                 },
                ],
               },
               default: None,
              },
              arguments: [
               PropertyAccess {
                expression: Variable {
                 identifier: "types",
                 position: (52, 27),
                },
                attribute_path: AttributePath {
                 attributes: [
                  Raw {
                   content: "path",
                   position: (52, 33),
                  },
                 ],
                },
                default: None,
               },
              ],
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "default",
                position: (53, 7),
               },
              ],
             },
             Variable {
              identifier: "null",
              position: (53, 17),
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "example",
                position: (54, 7),
               },
              ],
             },
             FunctionApplication {
              function: Variable {
               identifier: "literalExpression",
               position: (54, 17),
              },
              arguments: [
               String {
                parts: [
                 Raw {
                  content: "\"",
                  position: (54, 37),
                 },
                 Raw {
                  content: "$",
                  position: (54, 38),
                 },
                 Raw {
                  content: "{env.sitePackages}/ipykernel/resources/logo-64x64.png\"",
                  position: (54, 41),
                 },
                ],
               },
              ],
             },
            ),
            KeyValue(
             AttributePath {
              attributes: [
               Raw {
                content: "description",
                position: (55, 7),
               },
              ],
             },
             String {
              parts: [
               Raw {
                content: "Path to 64x64 logo png.\n",
                position: (56, 1),
               },
              ],
             },
            ),
           ],
           recursive: false,
           position: (51, 23),
          },
         ],
        },
       ),
      ],
      recursive: false,
      position: (7, 13),
     },
    ),
   ],
   recursive: false,
   position: (6, 1),
  },
  position: (4, 1),
 },
 position: (2, 1),
}