AttackMove is required and therefore can't be null, so the 'OrDefault' was redundant.
It's not really an Attack* trait, so it doesn't belong into that subfolder.