Like in Java exceptions are checked in Nim and unlike in Java it's easy to
ignore exceptions. To be forced to handle them use the `.raises: []` construct:
import std / os
proc main() {.raises: [].} =
# does not compile
copyFile("src.txt", "dest.txt")
RunEffects like `.raises` are inferred and `effectsOf` allows for effect polymorphism.
