Fixed up return-value handling.

Performed some refactoring...

(0) -2 +2 +10 +30 +100 tip

mercurial