I prefer this order of arguments for `sortby` as it matches the order of arguments for `by` and `groupby`. Others like `with` and `within` also lead with the DataFrame. 

Also, can `df` be an `AbstractDataFrame`, and can `colname` be the union you have above, so it works for multiple columns?