>Strict type languages will, whether you like it or not, have to deal with dynamically typed situations.
And let's not forget that we're running thousands of lines of completely dynamic and untyped code: javascript in the web pages, including this one. It doesn't care whether your variable contains an object, string, number, date or a logical - each one is actually an object, and it automatically converts to whichever type is needed, and you can freely mix them in an expression (YMMV regarding the results, if you don't know how it works and what are the rules), and you can use any of them as a logical. No need to check if empty(nvl(expr, "")), or what type is it, if all you want to know is whether it exists and/or has a value. And it's an embedded language where all you have is plain text (inside a web page) and the interpreter is in your browser. And it works like a charm on hundreds of millions of computers at any time.