cache other.p in assignment; this should fix the "assignment of