Ok, you're right! I had not realized that you could use non-`Type` types in the ORM as well (obviously....) so `hasType()` is necessary.
However, it would be good to avoid failing silently if we pass an invalid type string. Maybe the following code would solve the problem:

    if (is_string($parameter)) {
        $parameterType = Type::getType($parameter->getType());

That would filter out all `PDO_PARAM_*` and `Connection::PARAM_*` integer values, as well as the `NULL` value when the parameter does not exist.

By the way, should we accept `getParameter()` to be `NULL` as well?