@Memoized marked as incompatible with @TailRecursive