---
Function {
    argument: None,
    arguments: FunctionArguments {
        arguments: [
            FunctionArgument {
                identifier: "fetchpatch",
                default: None,
            },
            FunctionArgument {
                identifier: "fetchurl",
                default: None,
            },
            FunctionArgument {
                identifier: "stdenv",
                default: None,
            },
            FunctionArgument {
                identifier: "lib",
                default: None,
            },
        ],
        ellipsis: false,
    },
    definition: FunctionApplication {
        function: PropertyAccess {
            expression: Variable {
                identifier: "stdenv",
                position: (3, 1),
            },
            attribute_path: AttributePath {
                attributes: [
                    Raw {
                        content: "mkDerivation",
                        position: (3, 8),
                    },
                ],
            },
            default: None,
        },
        arguments: [
            Map {
                bindings: [
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "pname",
                                    position: (4, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "par",
                                    position: (4, 12),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "version",
                                    position: (5, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "1.52",
                                    position: (5, 14),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "src",
                                    position: (7, 3),
                                },
                            ],
                        },
                        FunctionApplication {
                            function: Variable {
                                identifier: "fetchurl",
                                position: (7, 9),
                            },
                            arguments: [
                                Map {
                                    bindings: [
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "url",
                                                        position: (8, 5),
                                                    },
                                                ],
                                            },
                                            String {
                                                parts: [
                                                    Raw {
                                                        content: "http://www.nicemice.net/par/Par152.tar.gz",
                                                        position: (8, 12),
                                                    },
                                                ],
                                            },
                                        ),
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "sha256",
                                                        position: (9, 5),
                                                    },
                                                ],
                                            },
                                            String {
                                                parts: [
                                                    Raw {
                                                        content: "33dcdae905f4b4267b4dc1f3efb032d79705ca8d2122e17efdecfd8162067082",
                                                        position: (9, 15),
                                                    },
                                                ],
                                            },
                                        ),
                                    ],
                                    recursive: false,
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "patches",
                                    position: (12, 3),
                                },
                            ],
                        },
                        List {
                            elements: [
                                FunctionApplication {
                                    function: Variable {
                                        identifier: "fetchpatch",
                                        position: (15, 6),
                                    },
                                    arguments: [
                                        Map {
                                            bindings: [
                                                KeyValue(
                                                    AttributePath {
                                                        attributes: [
                                                            Raw {
                                                                content: "url",
                                                                position: (16, 7),
                                                            },
                                                        ],
                                                    },
                                                    String {
                                                        parts: [
                                                            Raw {
                                                                content: "http://sysmic.org/dl/par/par-1.52-i18n.4.patch",
                                                                position: (16, 14),
                                                            },
                                                        ],
                                                    },
                                                ),
                                                KeyValue(
                                                    AttributePath {
                                                        attributes: [
                                                            Raw {
                                                                content: "sha256",
                                                                position: (17, 7),
                                                            },
                                                        ],
                                                    },
                                                    String {
                                                        parts: [
                                                            Raw {
                                                                content: "0alw44lf511jmr38jnh4j0mpp7vclgy0grkxzqf7q158vzdb6g23",
                                                                position: (17, 17),
                                                            },
                                                        ],
                                                    },
                                                ),
                                            ],
                                            recursive: false,
                                        },
                                    ],
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "makefile",
                                    position: (21, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "protoMakefile",
                                    position: (21, 15),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "preBuild",
                                    position: (22, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "makeFlagsArray+=(CC=\"",
                                    position: (23, 1),
                                },
                                Expression {
                                    expression: PropertyAccess {
                                        expression: Variable {
                                            identifier: "stdenv",
                                            position: (23, 28),
                                        },
                                        attribute_path: AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "cc",
                                                    position: (23, 35),
                                                },
                                                Raw {
                                                    content: "targetPrefix",
                                                    position: (23, 38),
                                                },
                                            ],
                                        },
                                        default: None,
                                    },
                                },
                                Raw {
                                    content: "cc -c\" LINK1=",
                                    position: (23, 51),
                                },
                                Expression {
                                    expression: PropertyAccess {
                                        expression: Variable {
                                            identifier: "stdenv",
                                            position: (23, 66),
                                        },
                                        attribute_path: AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "cc",
                                                    position: (23, 73),
                                                },
                                                Raw {
                                                    content: "targetPrefix",
                                                    position: (23, 76),
                                                },
                                            ],
                                        },
                                        default: None,
                                    },
                                },
                                Raw {
                                    content: "cc)\n",
                                    position: (23, 89),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "installPhase",
                                    position: (26, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "mkdir -p $out/bin\ncp par $out/bin\n\nmkdir -p $out/share/man/man1\ncp  par.1 $out/share/man/man1\n",
                                    position: (27, 1),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "meta",
                                    position: (35, 3),
                                },
                            ],
                        },
                        With {
                            expression: Variable {
                                identifier: "lib",
                                position: (35, 15),
                            },
                            target: Map {
                                bindings: [
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "homepage",
                                                    position: (36, 5),
                                                },
                                            ],
                                        },
                                        String {
                                            parts: [
                                                Raw {
                                                    content: "http://www.nicemice.net/par/",
                                                    position: (36, 17),
                                                },
                                            ],
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "description",
                                                    position: (37, 5),
                                                },
                                            ],
                                        },
                                        String {
                                            parts: [
                                                Raw {
                                                    content: "Paragraph reflow for email",
                                                    position: (37, 20),
                                                },
                                            ],
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "platforms",
                                                    position: (38, 5),
                                                },
                                            ],
                                        },
                                        PropertyAccess {
                                            expression: Variable {
                                                identifier: "platforms",
                                                position: (38, 17),
                                            },
                                            attribute_path: AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "unix",
                                                        position: (38, 27),
                                                    },
                                                ],
                                            },
                                            default: None,
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "license",
                                                    position: (40, 5),
                                                },
                                            ],
                                        },
                                        PropertyAccess {
                                            expression: Variable {
                                                identifier: "licenses",
                                                position: (40, 15),
                                            },
                                            attribute_path: AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "free",
                                                        position: (40, 24),
                                                    },
                                                ],
                                            },
                                            default: None,
                                        },
                                    ),
                                ],
                                recursive: false,
                            },
                        },
                    ),
                ],
                recursive: false,
            },
        ],
    },
}