Ruby のオプション引数にはシンボルをキーとした Hash 値しか渡せない

ハマったので覚書。
次のようにオプション引数に対してシンボル以外の値をキーとした Hash 値を渡そうとしたらエラーになりました。

def disp **opt
    puts opt
end

disp
# => {}
disp(name: "homu", age: 14)
# => {:name=>"homu", :age=>14}
disp("name" => "homu", "age" => 14)
# => Error: wrong number of arguments (1 for 0) (ArgumentError)

エラー内容から原因が全然わからなくて30分ぐらい時間を無那にした…。
ここら辺の Ruby の仕様ってどこを調べればいいんですかねぇ…。