Trying to memoize to reduce complexity.
Respacing because I can't see a thing I'm doing, this is why we used to use tabs.
Refined to temporarily just show the buested test case.