Add "why" function

The implementation of the why function makes it easy for users to debug code. If you invoke the function and pass a brief description of the problem, the function will analyze your code based on the input message. Then, it will provide a strong hint as to what the problem is. Everything in constant time.