intersection based on isEqual implemented, untested yet