If you first make a mini-header file then define the functions wouldn't that ensure that you can call a function defined below the another function
proc foo()=
bar()
proc bar()=
discard 1+1
foo()
the code above would result in an error
cannot find bar()
Maybe a preprocessor or some change of ordering of reading the module would be better
####### auto generated ####
proc foo()=
proc bar()=
###########################
proc foo()=
bar()
proc bar()=
discard 1+1
foo()
This is a suggestion. I don't really expect anyone to implement it but I think it'd be a good addition.