handle matching types that are not equal comparable