{
    "classes": [
        {
            "type": "document:class",
            "className": "com.prunoideae.probejs.types.ArrayOrSelf",
            "variables": [
                {
                    "type": "type:variable",
                    "name": "T"
                }
            ],
            "properties": [
                {
                    "type": "property:assign",
                    "assign": {
                        "type": "type:variable",
                        "name": "T"
                    },
                    "shield": true
                },
                {
                    "type": "property:assign",
                    "assign": {
                        "type": "type:array",
                        "component": {
                            "type": "type:variable",
                            "name": "T"
                        }
                    }
                }
            ]
        },
        {
            "type": "document:class",
            "className": "com.prunoideae.probejs.types.Of2",
            "variables": [
                {
                    "type": "type:variable",
                    "name": "A"
                },
                {
                    "type": "type:variable",
                    "name": "B"
                }
            ],
            "properties": [
                {
                    "type": "property:assign",
                    "assign": {
                        "type": "type:jsArray",
                        "types": [
                            {
                                "type": "type:variable",
                                "name": "A"
                            },
                            {
                                "type": "type:variable",
                                "name": "B"
                            }
                        ]
                    },
                    "shield": true
                },
                {
                    "type": "property:assign",
                    "assign": {
                        "type": "type:jsArray",
                        "types": [
                            {
                                "type": "type:variable",
                                "name": "B"
                            },
                            {
                                "type": "type:variable",
                                "name": "A"
                            }
                        ]
                    }
                }
            ]
        }
    ]
}