Don't require cl, and prefer "unless" to "(if (not ...) ...)"