Bug: falsed cyclic dependency detected when injecting optional object

This bug was triggered only when an optional object that did not exist
was injected. This was due to a typo, which marked the start module
(i.e. the root module) in the recursion guard instead of the current
module. Normally this isn't an issue, because an object should be found
by the time it gets to the root. In the case of a non-optional object
an cyclic dependency error was returned instead of a not found error.