An example:
(defnk component-a :- ComponentA
[component-b :- ComponentB
{component-c :- (s/maybe ComponentC) nil}]
(->ComponentA component-b component-c))
I would expect that when a component-c key exists that it would be considered a dependency of component-a and started before start is called on component-a. This is currently not the case.
A work around does exist by building the graph with component/using
(def graph
{:component-b fnk-that-builds-b
:component-c fnk-that-builds-c
:component-a (component/using fnk-that-builds-a {:component-c :component-c})})
It would be nice to not have to use component/using.