Referring to functions declared later inside a module with return type auto causes an error, but not when the return type is explicitly declared. The same goes for calling functions in other modules with return type auto. Is this supposed to happen?