By default, optional nodes won't exist at the point the model is sealed, so any DAG analysis won't involve them. If we performed a separate DAG analysis where we did create a single instance of all optional nodes at define-time, then this would be better, but would still not catch problems due to recursion.
Ideally, we need a solution that allow us to statically determine whether circular dependencies could occur at use-time, at define-time.
By default, optional nodes won't exist at the point the model is sealed, so any DAG analysis won't involve them. If we performed a separate DAG analysis where we did create a single instance of all optional nodes at define-time, then this would be better, but would still not catch problems due to recursion.
Ideally, we need a solution that allow us to statically determine whether circular dependencies could occur at use-time, at define-time.