I just added a Nim example to RosettaCode
Please check for any errors and suggest improvements.
The page does give a good summary of how Nim handles these edge cases.