For instance the expression (mapcar (lambda (frame) (cons frame (list (window-list frame)))) (frame-list)) produces the output:
((#<frame *scratch* 0x55e9a0b70408> (#<window 280 on *scratch*>)) (#<frame *scratch* 0x55e99b016538> (#<window 248 on *scratch*>)) (#<frame *scratch* 0x55e99db04910> (#<window 215 on *scratch*>)) (#<frame *scratch* 0x55e99abaa0d0> (#<window 30 on *scratch*>)) (#<frame *scratch* 0x55e99a2677f0> (#<window 27 on *scratch*>))) with each
which is a list of frames and the windows in them.
In EXWM the function exwm-workspace-switch (frame-or-index &optional force) switches to a frame or a particular workspace.
How can I convert the hex value such as 0x55e9a0b70408 to a form which could be used in the exwm-workspace-switch function?