Jasmin.SubstSourceval gsubst_func :
(?loc:Jasmin.Prog.L.t -> 'ty1 -> 'ty2) ->
('ty1 Prog.ggvar -> 'ty2 Prog.gexpr) ->
('ty1, 'info, 'asm) Prog.gfunc ->
('ty2, 'info, 'asm) Prog.gfuncval subst_func :
('ty Prog.gvar_i -> 'ty Prog.gexpr) ->
('ty, 'info, 'asm) Prog.gfunc ->
('ty, 'info, 'asm) Prog.gfunc