Module {
    source_file: Some(
        "MANIFEST_PATH/tests/examples/type_class_subtype.sdm",
    ),
    file_id: Some(
        0,
    ),
    span: Some(
        Span {
            start: SpanPosition {
                byte: 0,
                line: 1,
                column: 1,
            },
            end: SpanPosition {
                byte: 48,
                line: 6,
                column: 1,
            },
        },
    ),
    name: Identifier {
        span: Some(
            Span {
                start: SpanPosition {
                    byte: 7,
                    line: 1,
                    column: 8,
                },
                end: SpanPosition {
                    byte: 11,
                    line: 1,
                    column: 12,
                },
            },
        ),
        value: "sdml",
    },
    base_uri: None,
    version_info: None,
    version_uri: None,
    body: ModuleBody {
        span: Some(
            Span {
                start: SpanPosition {
                    byte: 12,
                    line: 1,
                    column: 13,
                },
                end: SpanPosition {
                    byte: 47,
                    line: 5,
                    column: 4,
                },
            },
        ),
        file_id: None,
        is_library: true,
        imports: [],
        annotations: [],
        definitions: [
            TypeClass(
                TypeClassDef {
                    span: Some(
                        Span {
                            start: SpanPosition {
                                byte: 18,
                                line: 3,
                                column: 3,
                            },
                            end: SpanPosition {
                                byte: 42,
                                line: 3,
                                column: 27,
                            },
                        },
                    ),
                    name: Identifier {
                        span: Some(
                            Span {
                                start: SpanPosition {
                                    byte: 24,
                                    line: 3,
                                    column: 9,
                                },
                                end: SpanPosition {
                                    byte: 27,
                                    line: 3,
                                    column: 12,
                                },
                            },
                        ),
                        value: "Any",
                    },
                    variables: [
                        TypeVariable {
                            span: Some(
                                Span {
                                    start: SpanPosition {
                                        byte: 29,
                                        line: 3,
                                        column: 14,
                                    },
                                    end: SpanPosition {
                                        byte: 41,
                                        line: 3,
                                        column: 26,
                                    },
                                },
                            ),
                            name: Identifier {
                                span: Some(
                                    Span {
                                        start: SpanPosition {
                                            byte: 29,
                                            line: 3,
                                            column: 14,
                                        },
                                        end: SpanPosition {
                                            byte: 30,
                                            line: 3,
                                            column: 15,
                                        },
                                    },
                                ),
                                value: "T",
                            },
                            cardinality: None,
                            restrictions: [
                                TypeClassReference {
                                    span: Some(
                                        Span {
                                            start: SpanPosition {
                                                byte: 34,
                                                line: 3,
                                                column: 19,
                                            },
                                            end: SpanPosition {
                                                byte: 41,
                                                line: 3,
                                                column: 26,
                                            },
                                        },
                                    ),
                                    name: Identifier(
                                        Identifier {
                                            span: Some(
                                                Span {
                                                    start: SpanPosition {
                                                        byte: 34,
                                                        line: 3,
                                                        column: 19,
                                                    },
                                                    end: SpanPosition {
                                                        byte: 38,
                                                        line: 3,
                                                        column: 23,
                                                    },
                                                },
                                            ),
                                            value: "None",
                                        },
                                    ),
                                    arguments: [
                                        Reference(
                                            TypeClassReference {
                                                span: Some(
                                                    Span {
                                                        start: SpanPosition {
                                                            byte: 39,
                                                            line: 3,
                                                            column: 24,
                                                        },
                                                        end: SpanPosition {
                                                            byte: 40,
                                                            line: 3,
                                                            column: 25,
                                                        },
                                                    },
                                                ),
                                                name: Identifier(
                                                    Identifier {
                                                        span: Some(
                                                            Span {
                                                                start: SpanPosition {
                                                                    byte: 39,
                                                                    line: 3,
                                                                    column: 24,
                                                                },
                                                                end: SpanPosition {
                                                                    byte: 40,
                                                                    line: 3,
                                                                    column: 25,
                                                                },
                                                            },
                                                        ),
                                                        value: "T",
                                                    },
                                                ),
                                                arguments: [],
                                            },
                                        ),
                                    ],
                                },
                            ],
                        },
                    ],
                    body: None,
                },
            ),
        ],
    },
}
