Howdy Ladislav:
In this example you posted:
-------------------------------------------------------
>> block1: [do func[f [any-function!]] [print "OK"] func [x] [print "OK"]]
== [do func [f [any-function!]] [print "OK"] func [x] [print "OK"]]
>> block2: [do func [f [any-function!]] [print "OK"]]
== [do func [f [any-function!]] [print "OK"]]
>> append block2 :f
== [do func [f [any-function!]] [print "OK"] func [x][print "OK"]]
-------------------------------------------------------
What is the :f that you are appending above? It is not
refered to elsewhere in your example.
-jeff