関数は関数で数学という言語を使っているからねえ。

関数→手続き変換(似非言語)
f(x) = x * 2 + 1
f(x) : {|x * 2 + 1| x=[-∞,+∞] }

def f(x); x * 2 + 1; fed
for x in -INFINITY to INIFINITY; f(x); rof

関数は定義であって処理じゃあないんだよね。
C 言語まんせーな俺としては関数型言語で
どこまで C のプログラムなどが置き換え可能か(意味や意義はともかく)興味深い。