procedures as parameters an introduction to abstraction 1170983