use "basic_models.g"; struct foo { int x; }; model EqualityComparable { fun operator==(foo a, foo b) -> bool@ { return a.x == b.x; } }; fun neq where { EqualityComparable } (T a, T b) -> bool@ { return a != b; } fun main() -> int@ { let r = neq(@foo{x=0}, @foo{x=1}); if (r) return 0; else return -1; }