Module {
    source_file: Some(
        "MANIFEST_PATH/tests/examples/type_class_methods.sdm",
    ),
    file_id: Some(
        0,
    ),
    span: Some(
        Span {
            start: SpanPosition {
                byte: 0,
                line: 1,
                column: 1,
            },
            end: SpanPosition {
                byte: 250,
                line: 13,
                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: 249,
                    line: 12,
                    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: 244,
                                line: 10,
                                column: 6,
                            },
                        },
                    ),
                    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: 30,
                                        line: 3,
                                        column: 15,
                                    },
                                },
                            ),
                            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: [],
                        },
                    ],
                    body: Some(
                        TypeClassBody {
                            span: Some(
                                Span {
                                    start: SpanPosition {
                                        byte: 32,
                                        line: 3,
                                        column: 17,
                                    },
                                    end: SpanPosition {
                                        byte: 244,
                                        line: 10,
                                        column: 6,
                                    },
                                },
                            ),
                            annotations: [],
                            methods: [
                                MethodDef {
                                    span: Some(
                                        Span {
                                            start: SpanPosition {
                                                byte: 39,
                                                line: 4,
                                                column: 5,
                                            },
                                            end: SpanPosition {
                                                byte: 74,
                                                line: 4,
                                                column: 40,
                                            },
                                        },
                                    ),
                                    name: Identifier {
                                        span: Some(
                                            Span {
                                                start: SpanPosition {
                                                    byte: 43,
                                                    line: 4,
                                                    column: 9,
                                                },
                                                end: SpanPosition {
                                                    byte: 55,
                                                    line: 4,
                                                    column: 21,
                                                },
                                            },
                                        ),
                                        value: "is_structure",
                                    },
                                    signature: FunctionSignature {
                                        span: None,
                                        parameters: [
                                            FunctionParameter {
                                                span: None,
                                                name: Identifier {
                                                    span: Some(
                                                        Span {
                                                            start: SpanPosition {
                                                                byte: 56,
                                                                line: 4,
                                                                column: 22,
                                                            },
                                                            end: SpanPosition {
                                                                byte: 57,
                                                                line: 4,
                                                                column: 23,
                                                            },
                                                        },
                                                    ),
                                                    value: "v",
                                                },
                                                target_type: FunctionType {
                                                    span: None,
                                                    target_cardinality: FunctionCardinality {
                                                        span: None,
                                                        ordering: None,
                                                        uniqueness: None,
                                                        range: None,
                                                    },
                                                    target_type: FunctionTypeReference {
                                                        optional: false,
                                                        inner: Reference(
                                                            Identifier(
                                                                Identifier {
                                                                    span: Some(
                                                                        Span {
                                                                            start: SpanPosition {
                                                                                byte: 61,
                                                                                line: 4,
                                                                                column: 27,
                                                                            },
                                                                            end: SpanPosition {
                                                                                byte: 62,
                                                                                line: 4,
                                                                                column: 28,
                                                                            },
                                                                        },
                                                                    ),
                                                                    value: "T",
                                                                },
                                                            ),
                                                        ),
                                                    },
                                                },
                                            },
                                        ],
                                        target_type: FunctionType {
                                            span: None,
                                            target_cardinality: FunctionCardinality {
                                                span: None,
                                                ordering: None,
                                                uniqueness: None,
                                                range: None,
                                            },
                                            target_type: FunctionTypeReference {
                                                optional: false,
                                                inner: Reference(
                                                    QualifiedIdentifier(
                                                        QualifiedIdentifier {
                                                            span: None,
                                                            module: Identifier {
                                                                span: None,
                                                                value: "sdml",
                                                            },
                                                            member: Identifier {
                                                                span: Some(
                                                                    Span {
                                                                        start: SpanPosition {
                                                                            byte: 67,
                                                                            line: 4,
                                                                            column: 33,
                                                                        },
                                                                        end: SpanPosition {
                                                                            byte: 74,
                                                                            line: 4,
                                                                            column: 40,
                                                                        },
                                                                    },
                                                                ),
                                                                value: "boolean",
                                                            },
                                                        },
                                                    ),
                                                ),
                                            },
                                        },
                                    },
                                    body: None,
                                    annotations: [],
                                },
                                MethodDef {
                                    span: Some(
                                        Span {
                                            start: SpanPosition {
                                                byte: 79,
                                                line: 5,
                                                column: 5,
                                            },
                                            end: SpanPosition {
                                                byte: 91,
                                                line: 5,
                                                column: 17,
                                            },
                                        },
                                    ),
                                    name: Identifier {
                                        span: Some(
                                            Span {
                                                start: SpanPosition {
                                                    byte: 83,
                                                    line: 5,
                                                    column: 9,
                                                },
                                                end: SpanPosition {
                                                    byte: 86,
                                                    line: 5,
                                                    column: 12,
                                                },
                                            },
                                        ),
                                        value: "new",
                                    },
                                    signature: FunctionSignature {
                                        span: None,
                                        parameters: [],
                                        target_type: FunctionType {
                                            span: None,
                                            target_cardinality: FunctionCardinality {
                                                span: None,
                                                ordering: None,
                                                uniqueness: None,
                                                range: None,
                                            },
                                            target_type: FunctionTypeReference {
                                                optional: false,
                                                inner: Reference(
                                                    Identifier(
                                                        Identifier {
                                                            span: Some(
                                                                Span {
                                                                    start: SpanPosition {
                                                                        byte: 90,
                                                                        line: 5,
                                                                        column: 16,
                                                                    },
                                                                    end: SpanPosition {
                                                                        byte: 91,
                                                                        line: 5,
                                                                        column: 17,
                                                                    },
                                                                },
                                                            ),
                                                            value: "T",
                                                        },
                                                    ),
                                                ),
                                            },
                                        },
                                    },
                                    body: None,
                                    annotations: [],
                                },
                                MethodDef {
                                    span: Some(
                                        Span {
                                            start: SpanPosition {
                                                byte: 96,
                                                line: 6,
                                                column: 5,
                                            },
                                            end: SpanPosition {
                                                byte: 178,
                                                line: 8,
                                                column: 8,
                                            },
                                        },
                                    ),
                                    name: Identifier {
                                        span: Some(
                                            Span {
                                                start: SpanPosition {
                                                    byte: 100,
                                                    line: 6,
                                                    column: 9,
                                                },
                                                end: SpanPosition {
                                                    byte: 109,
                                                    line: 6,
                                                    column: 18,
                                                },
                                            },
                                        ),
                                        value: "is_entity",
                                    },
                                    signature: FunctionSignature {
                                        span: None,
                                        parameters: [
                                            FunctionParameter {
                                                span: None,
                                                name: Identifier {
                                                    span: Some(
                                                        Span {
                                                            start: SpanPosition {
                                                                byte: 110,
                                                                line: 6,
                                                                column: 19,
                                                            },
                                                            end: SpanPosition {
                                                                byte: 111,
                                                                line: 6,
                                                                column: 20,
                                                            },
                                                        },
                                                    ),
                                                    value: "v",
                                                },
                                                target_type: FunctionType {
                                                    span: None,
                                                    target_cardinality: FunctionCardinality {
                                                        span: None,
                                                        ordering: None,
                                                        uniqueness: None,
                                                        range: None,
                                                    },
                                                    target_type: FunctionTypeReference {
                                                        optional: false,
                                                        inner: Reference(
                                                            Identifier(
                                                                Identifier {
                                                                    span: Some(
                                                                        Span {
                                                                            start: SpanPosition {
                                                                                byte: 115,
                                                                                line: 6,
                                                                                column: 24,
                                                                            },
                                                                            end: SpanPosition {
                                                                                byte: 116,
                                                                                line: 6,
                                                                                column: 25,
                                                                            },
                                                                        },
                                                                    ),
                                                                    value: "T",
                                                                },
                                                            ),
                                                        ),
                                                    },
                                                },
                                            },
                                        ],
                                        target_type: FunctionType {
                                            span: None,
                                            target_cardinality: FunctionCardinality {
                                                span: None,
                                                ordering: None,
                                                uniqueness: None,
                                                range: None,
                                            },
                                            target_type: FunctionTypeReference {
                                                optional: false,
                                                inner: Reference(
                                                    QualifiedIdentifier(
                                                        QualifiedIdentifier {
                                                            span: None,
                                                            module: Identifier {
                                                                span: None,
                                                                value: "sdml",
                                                            },
                                                            member: Identifier {
                                                                span: Some(
                                                                    Span {
                                                                        start: SpanPosition {
                                                                            byte: 121,
                                                                            line: 6,
                                                                            column: 30,
                                                                        },
                                                                        end: SpanPosition {
                                                                            byte: 128,
                                                                            line: 6,
                                                                            column: 37,
                                                                        },
                                                                    },
                                                                ),
                                                                value: "boolean",
                                                            },
                                                        },
                                                    ),
                                                ),
                                            },
                                        },
                                    },
                                    body: None,
                                    annotations: [
                                        Property(
                                            AnnotationProperty {
                                                span: Some(
                                                    Span {
                                                        start: SpanPosition {
                                                            byte: 138,
                                                            line: 7,
                                                            column: 7,
                                                        },
                                                        end: SpanPosition {
                                                            byte: 170,
                                                            line: 7,
                                                            column: 39,
                                                        },
                                                    },
                                                ),
                                                name_reference: QualifiedIdentifier(
                                                    QualifiedIdentifier {
                                                        span: Some(
                                                            Span {
                                                                start: SpanPosition {
                                                                    byte: 139,
                                                                    line: 7,
                                                                    column: 8,
                                                                },
                                                                end: SpanPosition {
                                                                    byte: 153,
                                                                    line: 7,
                                                                    column: 22,
                                                                },
                                                            },
                                                        ),
                                                        module: Identifier {
                                                            span: Some(
                                                                Span {
                                                                    start: SpanPosition {
                                                                        byte: 139,
                                                                        line: 7,
                                                                        column: 8,
                                                                    },
                                                                    end: SpanPosition {
                                                                        byte: 143,
                                                                        line: 7,
                                                                        column: 12,
                                                                    },
                                                                },
                                                            ),
                                                            value: "skos",
                                                        },
                                                        member: Identifier {
                                                            span: Some(
                                                                Span {
                                                                    start: SpanPosition {
                                                                        byte: 144,
                                                                        line: 7,
                                                                        column: 13,
                                                                    },
                                                                    end: SpanPosition {
                                                                        byte: 153,
                                                                        line: 7,
                                                                        column: 22,
                                                                    },
                                                                },
                                                            ),
                                                            value: "prefLabel",
                                                        },
                                                    },
                                                ),
                                                value: Simple(
                                                    String(
                                                        LanguageString {
                                                            span: Some(
                                                                Span {
                                                                    start: SpanPosition {
                                                                        byte: 156,
                                                                        line: 7,
                                                                        column: 25,
                                                                    },
                                                                    end: SpanPosition {
                                                                        byte: 170,
                                                                        line: 7,
                                                                        column: 39,
                                                                    },
                                                                },
                                                            ),
                                                            value: "is an entity",
                                                            language: None,
                                                        },
                                                    ),
                                                ),
                                            },
                                        ),
                                    ],
                                },
                                MethodDef {
                                    span: Some(
                                        Span {
                                            start: SpanPosition {
                                                byte: 183,
                                                line: 9,
                                                column: 5,
                                            },
                                            end: SpanPosition {
                                                byte: 238,
                                                line: 9,
                                                column: 60,
                                            },
                                        },
                                    ),
                                    name: Identifier {
                                        span: Some(
                                            Span {
                                                start: SpanPosition {
                                                    byte: 187,
                                                    line: 9,
                                                    column: 9,
                                                },
                                                end: SpanPosition {
                                                    byte: 197,
                                                    line: 9,
                                                    column: 19,
                                                },
                                            },
                                        ),
                                        value: "has_member",
                                    },
                                    signature: FunctionSignature {
                                        span: None,
                                        parameters: [
                                            FunctionParameter {
                                                span: None,
                                                name: Identifier {
                                                    span: Some(
                                                        Span {
                                                            start: SpanPosition {
                                                                byte: 198,
                                                                line: 9,
                                                                column: 20,
                                                            },
                                                            end: SpanPosition {
                                                                byte: 199,
                                                                line: 9,
                                                                column: 21,
                                                            },
                                                        },
                                                    ),
                                                    value: "v",
                                                },
                                                target_type: FunctionType {
                                                    span: None,
                                                    target_cardinality: FunctionCardinality {
                                                        span: None,
                                                        ordering: None,
                                                        uniqueness: None,
                                                        range: None,
                                                    },
                                                    target_type: FunctionTypeReference {
                                                        optional: false,
                                                        inner: Reference(
                                                            Identifier(
                                                                Identifier {
                                                                    span: Some(
                                                                        Span {
                                                                            start: SpanPosition {
                                                                                byte: 203,
                                                                                line: 9,
                                                                                column: 25,
                                                                            },
                                                                            end: SpanPosition {
                                                                                byte: 204,
                                                                                line: 9,
                                                                                column: 26,
                                                                            },
                                                                        },
                                                                    ),
                                                                    value: "T",
                                                                },
                                                            ),
                                                        ),
                                                    },
                                                },
                                            },
                                        ],
                                        target_type: FunctionType {
                                            span: None,
                                            target_cardinality: FunctionCardinality {
                                                span: None,
                                                ordering: None,
                                                uniqueness: None,
                                                range: None,
                                            },
                                            target_type: FunctionTypeReference {
                                                optional: false,
                                                inner: Reference(
                                                    QualifiedIdentifier(
                                                        QualifiedIdentifier {
                                                            span: None,
                                                            module: Identifier {
                                                                span: None,
                                                                value: "sdml",
                                                            },
                                                            member: Identifier {
                                                                span: Some(
                                                                    Span {
                                                                        start: SpanPosition {
                                                                            byte: 209,
                                                                            line: 9,
                                                                            column: 31,
                                                                        },
                                                                        end: SpanPosition {
                                                                            byte: 216,
                                                                            line: 9,
                                                                            column: 38,
                                                                        },
                                                                    },
                                                                ),
                                                                value: "boolean",
                                                            },
                                                        },
                                                    ),
                                                ),
                                            },
                                        },
                                    },
                                    body: Some(
                                        Simple(
                                            Atomic(
                                                AtomicSentence {
                                                    span: None,
                                                    predicate: Identifier(
                                                        Identifier(
                                                            Identifier {
                                                                span: Some(
                                                                    Span {
                                                                        start: SpanPosition {
                                                                            byte: 220,
                                                                            line: 9,
                                                                            column: 42,
                                                                        },
                                                                        end: SpanPosition {
                                                                            byte: 235,
                                                                            line: 9,
                                                                            column: 57,
                                                                        },
                                                                    },
                                                                ),
                                                                value: "is_product_type",
                                                            },
                                                        ),
                                                    ),
                                                    arguments: [],
                                                },
                                            ),
                                        ),
                                    ),
                                    annotations: [],
                                },
                            ],
                        },
                    ),
                },
            ),
        ],
    },
}
