I was talking with some smalltalking colleagues, and they were saying that they quite often develop in a sort of top down fashion, letting the debugger take them where they need to be. For example, if they are writing some code that needs to lookup an item in a database and then manipulate it, they would create the function and write the function calls to do the work they need:(defun example (quer