Bind statement syntax

Do we have to include the bind statement inside a module ?
Normally I would put the bind statement in top module when come to bind the interface at some lower level.
Recently I notice the bind statement would also take effect even it was not included in any procedural block. It seems that as long as the design file that include the bind statement was listed in the filelist and got compiled successfully, it will work.

Bind statements are never inside procedural blocks. Section 23.11 Binding auxiliary code to scopes or instances in the 1800-2017 LRM lists the 3 places where bind can be placed, as well as other restrictions.