I have developed a number of modules for MicroPython intended for general use across platforms. The task has become progressively harder as the number of platforms has increased. It is now virtually impossible to guarantee cross-platform operation because the ports have different features, a difference which is undocumented. I raised this RFC on the subject.
I appreciate that there are inevitable hardware issues. But you can't even guarantee that pure Python code will work cross-platform because core language features can be missing. This even applies to the Unix port, which I find baffling given that the original Raspberry Pi 1 had 500MB of RAM.
In response to the RFC, @Damien suggested a good solution. I suggest that anyone working on the docs might want to consider this issue.