type EvenOdd { bool even(int); bool odd(int); } // The following class tests mutually recursive methods. class EvenOddC() : EvenOdd impl EvenOdd { bool even(int n) { cond { n == 0 => return true; n < 0 => return even(-n); else return odd(n - 1); }; } bool odd(int n) { cond { n == 0 => return false; n < 0 => return odd(-n); else return even(n - 1); }; } export EvenOdd : even, odd; }