follow abstract type before checking equality when resolving binops (see #3214)