The var-arg patterns here and in base.rb feel obfuscated. It would be nice if we could simplify that.