From spec: Also note that it is possible to defeat a type guard by calling a function that changes the type of the guarded variable.