In programs we usually distinguish between the data level and the program level.
Variables are at the data level and can be accessed by the statements of a program.
Modules, types and procedures are at the the program level. They serve to structure a program but they are usually not viewed as data. Questions like these are considered to be on a meta level. They treat modules, types and procedures as data. If a programming system supports questions of this kind we call it a metaprogramming system.