I think this too, but AMEMBER() and a EVALUATE() cycle is not efficient.
I put a ( useless ) wish.
x=CREATEOBJECT("empty")
=ADDPROPERTY(m.x,"p1",77)
=ADDPROPERTY(m.x,"p2",'778')
y=CREATEOBJECT("empty")
FOR k=1TOAMEMBERS(aProperties,m.x)
=ADDPROPERTY(m.y,aProperties[m.k],EVALUATE("m.x."+aProperties[m.k]))
NEXT