I did a quick test, to type the expression below 10.000 times it took 2.6s (based on type_expr) compared to 0.6s (based on type_of). So i guess it's useful to have both in the internal api, what do you think?

```haxe
{


			var x = 1;
			var y = 2;
			var z = 4;
			var d = { x : 5, z: t };

			var x = haxe.ds.Option.Some(5);


			switch (x) {
				case Some(1): "hey";
				case _ : "foo";
			}

		}
```