Code cleanup, focus on safety.
Add records for DamageResult and AttackResult.
Some formalizing of merging.
Add post conditions to assert return types.