Type linters like mypy can check your code & report something like "this function call requires str, you're providing str | None" though.