memoizing continuations

append now yields correct results for lists with
probabilistic tails. for each x.flatMap(f), f is
memoized per exploration path. is that enough or
are there cases where the scheme breaks down?