I'm not sure why one would use an array instead of a single variable, or better yet, a constant. Naming collisions can be avoided by using conventions, and there's the possibility that your $array may be unexpectedly out of the current scope.
Anyways, I haven't been able to try this, but I would expect that since it uses the return method it would have the same results.
It occurred to me that because the include structure is incredibly convoluted I may just be missing an extra { somewhere, and that's causing the strange errors. However, the problem went away when I switched a few files to the blocked method. Even if it is human error, the blocked method vs return method is more fault tolerant.