Dijkstra was right — recursion should not be difficult