Please explain the following line in LazyValue.n: catch { | e => def e = e; // <-- this one computation = fun () { throw e } throw; }