Discourage procedure syntax, encourage explicit return types.

Also added advice on adding return types to public methods.

Review by @hseeberger (it's based on his feedback), @heathercmiller