Code:
typedef uint_64 Time;

Time x = 123;
Time y = Time(x);
The second line looks like a constructor! But Time is nothing more than a build-in type. Is this legal and why?