What you are looking at are not two variables (strict, flexible), but also "ease of use". Arguably dependent-typed languages are most strict, but also most flexible: you can write type of a function that only accepts primes on input. They are hard to use though.
Dynamically-typed languages are flexible and easy to use, but not strict.
Java-likes are strict and easy to use, but they're very unflexible.