> Since Nim is not a functional, but imperative language, you would use runtime
> flow control in this case:
proc fac(n: int): int =
if n == 0: 1
else: n * fac(n - 1)
RunThere isn't anything non-functional about that.
