関数のdefは呼び出しより上に無いといけないけど、
上に無くてもいい言語も普通にある

関数を重複してdefするとも思えないし、下に書くことを禁止するメリットって何?