Script error 9000: Linker task graph contains a cycle

How to solve this problem?
I have several Verse devices and they are subscribed to each other by @editable. Previously this was not a problem, but now patiently such an error appears.

You aren’t allowed to reference devices in a cycle unfortunately, I understand how this made device interoperation kinda annoying, I believe you can workaround this by making the device refernce an optional and it should fix the error idk if that’s a good idea to do though because it might not be stable.

how do you make it optional?

instead of
MyVariable : my_device = my_device{}

It becomes
MyVariable : ?my_device = option{my_device{}}

But you will need to do if(MyDevice:=MyVariable?): before using it in a function since to use it it must not be false.