* different syntax for lambda and default args to ensure rubinius support