TODO: Investigate the need to remove memoization on Spec.patches (infinite recursion when testing `__contains__`)