The description of how require() works is not quite correct. Node does not always fully initialize the dependency module before returning from require(). It can't work that way, because Node allows circular require() dependencies. Try it!
Unsure what this means. The only reason this happens is because an unfinished copy is provided to the dependency that is causing a circular reference.