The named block structure builds upon the anonymous block structure shown above. It includes a header section which contains the name and type of the subprogram. The header section might also include parameter specifications. There are a number of other variable elements of the header section that vary based upon the subprogram type in use. For example, a function will include information about its return value and a trigger will contain information about the trigger event that causes it to be fired.