================== generic_export ================== module type Stack#[T]* = record item: ^T end proc push#[T]*(s: ^Stack#[T]; item: ^T) return end. --- (source_file (module_declaration (type_section (type_declaration (identifier_definition (identifier) (type_parameters (identifier))) (record_type (field_declaration (field_identifier (identifier)) (pointer_type (identifier)))))) (procedure_declaration (identifier_definition (identifier) (type_parameters (identifier))) (parameter_list (field_declaration (field_identifier (identifier)) (pointer_type (generic_type (identifier) (type_arguments (identifier))))) (field_declaration (field_identifier (identifier)) (pointer_type (identifier)))) (procedure_body (return_clause)))))