Removed unnecessary `inline` declarations and changed recursions
* `inline` is implicitly declared for function definitions inside the class declaration
* recursive member methods are now provided with constant _current_ and _end_ iterators instead of the full _path_ vector