setDF doesn't error when input is DF.
order(.) optimisation could sometimes error when used in chaining. Fixed and added test.