Nils are a very bad code smell. They come from C's null, which is a billion dollar mistake[1], according to its creator: Tonny Hoare. Specially now that we have monads[2, 3].Do you have a source for this? I was under the impression nil was directly taken from Smalltalk, which derived it from Lisp.