QuickCheck happens to use types (ie static information). But Python's hypothesis shows that QuickCheck works just as well with dynamic languages: https://hypothesis.readthedocs.io/en/latest/
I'd still consider this to be essentially "static" information, since they don't change as the program executes.