@Memoized is marked as incompatible with @TailRecursive