function-type → (
function-type-parametersopt )
throws-annotationopt ->
type
function-type-parameters → function-type-parameter ,
function-type-parameters
function-type-parameters → function-type-parameter ...
opt
function-type-parameter → attributesopt inout
opt type
throws-annotation → throws | rethrows