Fixes #5946 and cuts down on duplicate code across Life() procs.