I repeated tests. I wrote a set of simple functions. It is a synthetical test, but I think it can identify potential problems well.
I calculated the average of 3 cycles and I checked the performance of each function. I didn't find any problem. The total execution time is well too. Patched code is about 11% faster than master (14sec x 15.8sec). So there is new important functionality with nice performance benefits.
make check-world passed
I played with plpgsql_check tests and again I didn't find any significant issue of this patch. I am very satisfied with implementation.
Now, the behavior of SELECT INTO is behind the assign statement and this fact should be documented. Usually we don't need to use array's fields here, but somebody can try it.