That pattern is good for larger differences. Though I personally don't mind the `when/else` patterns in most of the procs for handling smaller os diffs.
The main downside with using `include` is that it breaks IDEs / nimsuggest which makes contributing harder for new or occasional contributors. It's really annoying to open a file and get errors the entire way down. You also can't use the "goto symbol definition" either.