@jcredding should probably raise a custom exception here to avoid confusing errors if given zero args.