In our app, we currently are trying to use deep links as much as possible to opt for a 'dumb' client. This allows us to receive navigation links from the backend and work similar to web.
However, we have a couple of issues that we have workarounds for, primarily not being able to specify the type of navigation.
One scenario that causes an issue: (I will use letters as screens)
Open A which is a modal, A opens B, so modal closes. B opens A modal again, and A again opens B, however B is already on the stack, so it is treated as a default 'goBack', however this is not what we are looking for. We would like to push this screen again.