blob: 9bced3036a8194cc6f4d544214ac072fee467aff [file] [log] [blame]
interface Iso<T, R> {
T deply(R r);
default Iso<R, T> inverse() {
final Iso<T, R> z = this;
return new Iso<R, T>() {
@Override
public R deply(T t) {
throw null;
}
};
}
static <T, R> Iso<R, T> inverse(Iso<T, R> z) {
return new Iso<R, T>() {
@Override
public R deply(T t) {
throw null;
}
};
}
}