https://forum.nim-lang.org/t/7983