My impression is that Pascal no longer is a "type-safe" programming language due to these implicit type conversions. I am afraid there are tons of bugs in user (and official) code based on this. I wish there were a compiler switch enforcing real type-safe operation, i.e. Min(1, b) should cause a compilation error because it mixes integer and double arguments.