To accommodate this, Moat Maker provides a .lazy() mechanism, which allows you to register a callback that will fetch a validator instance from somewhere, but only at the moment it's needed. We can fix the above example by using .lazy() like this:
We were able to have linkedListNodeValidator recursively reference itself, because the self-reference was inside a callback, thus giving time for the linkedListNodeValidator variable to initialize before we tried to reference it.
.lazy() can also be used for other purposes, such as helping later steps access information from earlier steps when following the multi-step validation pattern.