The current life is quite good, however it's main issue is customisability. At the moment you cannot get a life type to do what you want, so my suggestion is to have a generic life form that has no default rules, but they can be set with tmp, tmp2 and life.
My idea as to exactly how this works is:
First, you would write out the numbers 0-9 in a horizontal line, like this:
0 1 2 3 4 5 6 7 8 9
Then beneath the numbers you want (this example is for GNAR), write a one. Beneath the others, write a zero, like this:
0 1 2 3 4 5 6 7 8 9
0 1 0 0 0 0 0 0 0 0
Convert the binary into a base-10 number, and that is the rule (So in this example, it would be 256 tmp, and 256 tmp2). The life value would be how many frames it should stick around after "dying". Normal tmp would be "Begin" rule, the tmp2 would be "Stay" rule.
What do you think?
Remains 2 frames. (ex 1/234/5 makes a new one at 1 particle and dies at 2/3/4 particles by dying ones will last 5 frames.)
It uses ctype value. Try to put some GOL, !set ctype life wood and see.