streams thunks memoization and delayed evaluation 885469