DfaMemoryState is unfortunately mutable; use defensive copying