In
computer science, a
type signature or
type annotation defines the inputs and outputs for a
function,
subroutine or
method. A type signature includes the function's return type, the number of arguments, the types of arguments, or errors it may pass.