This potentially affects tools like coverage.py. It also means anything using `co_code` in CPython frequently is significantly slower. Note that pre-3.11, most code would assume this operation is O(1), so it's probably called more often than we expect. We should lazily initialise a hidden `_co_code` field and cache it there. Currently it creates a fresh bytes object on each `co_code` access. This is at best O(n).