What's really strange is that the function is returning the code like this:
FUNCTION public."PRUEBA_FUNCION2"(p_1 integer, OUT p_2 integer, INOUT p_3 integer, VARIADIC p_4 integer[])
RETURNS SETOF record
LANGUAGE plpgsql
IMMUTABLE STRICT SECURITY DEFINER ROWS 200
AS $function$begin
null;
end;$function$
So the LANGUAGE, INMUTABLE, STRICT, options are written before the code instead of after the code.
Regards,
Néstor