I noticed that coroutine.resume just returned 1 of the arguments passed to coroutine.yield,
whereas they where all returned when executing in ComputerCraft:
It turns out that you overwrite the original coroutine.yield and just passing the first argument to the original yield function, so I fixed the issue by catching every additional arguments for coroutine.yield and passing them to nativeYield:
I noticed that coroutine.resume just returned 1 of the arguments passed to coroutine.yield, whereas they where all returned when executing in ComputerCraft:
It turns out that you overwrite the original coroutine.yield and just passing the first argument to the original yield function, so I fixed the issue by catching every additional arguments for coroutine.yield and passing them to nativeYield: