initial implementation, totally unoptimized
Ged rid of std::pair, use Position struct
Prevent creating nodes that are not required
Little improvement
Recursion elimination #1
Recursion elimination #2
Recursion elimination #3
Optimization (get rid of branches)
Fix crash if start == end
Some documentation
More tests