implemented either(), starting with doc29