In the programming languages community, researchers have long wondered
how to analyze the time complexity of programs written in lazy
functional programming languages, while in the algorithms community,
researchers have been stymied by the apparent incompatibility of
amortization and persistence. Although these two problems appear
unrelated, they are in fact closely connected. We will discuss an
approach to designing and analyzing lazy persistent amortized data
structures that simultaneously addresses both of these problems.