TEither implemented