fold substitutions of function blocks
change order of infererence for function call params