to_either + fixes