To guarantee worst case stack usage of `O(log N)`.
To guarantee worst case stack usage of
O(log N).