In a typical list -> details SwiftUI view, I have basically an `Array` of objects, and for read/edit, I can easily bind these (using `@Binding` on the view) to view and edit the elements in the array.

What about adding new elements?

I would like to re-use my views for editing; but they expect an `@Binding` as I mentioned. How do I transition to this view if I want to allow the user to add a new element to the list?

One option is that I can pre-create an object before loading the view, and then binding the view to the new element. However, this makes "cancel" clunky (now I have to remove from the list). Also, it's not clear how to inject this logic (create a new element) in a `NavigationLink`.

Another option is that I can pass the list to the view and bind a constant empty object, and in the view I can manage adding the new element to the list upon successful creation.

What is the recommended approach to this? I see a lot of tutorials on how to edit and view lists, but not on how to add.