Add "why" function

The why function returns potential reasons as why your code may not work the way you intended. It is based on a complex analysis of your code running under different circumstances (all computed in constant time).