Why ++[[]][+[]]+[+[]] = 10 in JavaScript
This is the reason I prefer strongly typed languages. Allowing developers to play fast and loose with data types only leads to less maintainability down the road and makes code difficult to read.