Mapping and MutableMapping information for get and pop says that the default parameter is positional or keyword.
dict says positional only, and that is correct at runtime.
So this type checks with no errors, but crashes with TypeError:
from collections.abc import Mapping, MutableMapping
def foo(x: MutableMapping[str, int]) -> int:
return x.pop("3", default=3)
foo({}) # crash: TypeError: dict.pop() takes no keyword arguments
def goo(x: Mapping[str, int]) -> int:
return x.get("3", default=3)
goo({}) # crash: TypeError: dict.get() takes no keyword arguments
# same with MutableMapping.get