strange type error on GADT field access
Brought to you by:
bonniot
The following code throws this error:
Arguments (gadt.Term<T>(this)) do not fit:
gadt.Int<nice.lang.int> gadt.Less.a
----------------------------
package gadt;
interface Term<T> {
T value();
}
interface Int implements Term<int> {}
interface Bool implements Term<boolean> {}
class Less implements Bool {
Int a;
Int b;
value() = a.value < b.value;
}