It's easy to remember syntax constraints...

Ruby 1.8 needs optional arguments to be last in the signature.
Updated all signatures to maintain symmetry.