We had a program malfunction because it re-used a data field to make a processing decision; when the characteristics of the data stored in the data field later changed, the program made a processing error and reported an incorrect amount. In general, I have avoided the practice using data fields for different, disparate purposes because it creates a hidden dependency. Someone asked me what the exact principle was for this design heuristic, and I could only reply that it is a form of coupling. Do you know a more specific rule that prevents this practice?