I’ve been working on applying strict static typing to my Python package class-resolver and ran into an interesting way of using generics in combination with parameter specification variables (i.e., ParamSpecs). Normally, if you want to type annotate a function, you use the Callable, which works like the following: from collections.abc import Callable #: the [int] represents a function that takes in a single integer, #: and returns a single

