lazycache is easier to read, doesn't eat docstrings