First commit. No memoization for recursive yet.