Availability:built-in
?- A = point{x:1, y:2}.put(_{x:3}). A = point{x:3, y:2}. ?- A = point{x:1, y:2}.put([x=3]). A = point{x:3, y:2}. ?- A = point{x:1, y:2}.put([x=3,z=0]). A = point{x:3, y:2, z:0}.
?- A = point{x:1, y:2}.put(_{x:3}). A = point{x:3, y:2}. ?- A = point{x:1, y:2}.put([x=3]). A = point{x:3, y:2}. ?- A = point{x:1, y:2}.put([x=3,z=0]). A = point{x:3, y:2, z:0}.