Type ascriptions are annotations constraining the type inference mechanism.
Type ascriptions allow developers to set constraint on compiler type inference. For instance in Scala language:
val i = 123 //Inferred as Int
val l: Long = 123 //Inferred as Long
Type ascriptions allow to force implicit conversions and to pass a sequence to a method expecting variable arguments. For more information, see the question: What is the purpose of type ascription in Scala?