The current implementation of HMC/NUTS contains many calls to deepcopy for VarInfo. This substantially increases memory allocation and may deteriorate performance. Perhaps we can share the same VarInfo between leapfrog iterations that belong to a single HMC/NUTS proposal (or sample).