Thank you for picking this up!
I inlined some minor comments but you can address them before commiting this.
I think we should not set default values but force the user to decide.
"Unrelated": We have to make these unique_ptr so we can remove the delete at the end.
We have backward exploration now.
Still missing F