Comment
Comment by lastofus
Snarkiness aside, this is hardly a static type check. This appears to be a runtime argument check, somewhat akin to the following python:
which errors out at runtime if `a` or `b` are omitted, despite being keyword arguments which are usually optional.