and you cannot tell from the procedure's heading which variables it touches. The heading `procedure DisplayExpenses;` with no parameters gives you no information about what data it reads.