Include a remark about how val is (semantically) doing functional updates per the state monad, efficiently.