Problem

Many error messages in Clojure stack traces are often not immediately intuitive without a certain degree of prior knowledge. Additionally, in some cases Clojure should provide an error message but does not. In some cases, the meaning of error messages can be garnered from the current developer action and environment. In the case where an error message can be inferred from the context that it occurs it should provide a relevant offering. As a caveat, the error messages should be inferred with minimum to no runtime cost.