starting to document things
assigned variables are now immutable, so shadowing is implicit in a context