Right, runtime type checks do...and JavaScript has to do them pervasively. Hence OP's question - could these type annotations eliminate the need for type checks at real time by making type assertions static (the answer is no, but that was the question).