For example np.ndarray[...], with a rule np.ndarray -> callable.
Right now we require every possible combination np.ndarray[...] to be in the rules which is not practical.
The fix is quite simple - just add another check after get_origin to see if it's in the rules.