Optional型に、nilが代入できる理由は、NilLiteralConvertible プロトコルを実装しているからだと。

var a : Int? = nil
上記のようにnilをオプショナル型に代入するとき、
NilLiteralConvertible のイニシャライザがよばれることで、
nilの代入が可能となるみたいなのですが、
NilLiteralConvertible のイニシャライザの定義が次のようなっています。

init(nilLiteral: ())

これは、型の指定が、空のタプルにもみえますが、空のタプルは「型」ではないですし、
なぜ、このイニシャライザ呼ばれることになるのでしょうか。
また型の「()」は何をいみしているのでしょうか?

教えてください。