This line reveals a typo:
delegateToOwn(Cell, 'state', ['alive', 'aliveInNextGeneration']);
Fix: The Alive and Dead objects should have aliveInNextGeneration function slots, not stateInNextGeneration as it is now.
This string
an object representing and account balance
should be
an object representing an account balance