Finish immutable thunk refactor.  Compiles, but is untested.