Started using IEquatable

bugs i.d. but not fixed: adjacent range reconstruction