Vim script で関数名と同名の変数が定義できる

今日(っていうかさっき)知ったんですが、Vim script って関数名と同名の変数が定義できるんですね…。

[ソース]

function! s:type(x)
    return a:x
endfunction

let s:type = 42
echo s:type
echo s:type("x")

[出力]

42
x


Vim script 怖い。