What would you suggest then? Is nested-if-else really so hard to read?
Note that I also take the advantage of integer, so I can use condition like `N > 0` not just plain tag-dispatching.