less code; Write closures to share small blocks of functionality; Use optionals to write