Problem with Pascal's design: type checking is ineffective
Reasons:
User can create inconsistent unions (because the tag can be individually assigned)
var blurb : intreal;
x : real;
blurb.tagg := true; { it is an integer }
blurb.blint := 47; { ok }
blurb.tagg := false { it is a real
x := blurb.blreal; { oops! }