main module optgen procedure optgen param A : optional in ref general endparam endprocedure endmodule