optimization: don't slice args if we don't need to