{ "schema": "ailang/v0", "name": "mq3_class_eq_vs_fn_eq_classmod", "imports": [], "defs": [ { "kind": "class", "name": "MyEq", "param": "a", "methods": [ { "name": "myeq", "type": { "k": "fn", "params": [ { "k": "var", "name": "a" }, { "k": "var", "name": "a" } ], "param_modes": ["borrow", "borrow"], "ret": { "k": "con", "name": "Bool" }, "effects": [] } } ] }, { "kind": "instance", "class": "MyEq", "type": { "k": "con", "name": "Int" }, "methods": [ { "name": "myeq", "body": { "t": "lam", "params": ["x", "y"], "paramTypes": [ { "k": "con", "name": "Int" }, { "k": "con", "name": "Int" } ], "retType": { "k": "con", "name": "Bool" }, "body": { "t": "lit", "lit": { "kind": "bool", "value": true } } } } ] } ] }