[ ] Handle the special (but most common case), where all test rows and use rows are distinct and unique. In this case, we should just be able to cbind dt[c(use, test), ] to the Task (--> requires change in mlr3). If we don't do this, and combine multiple preprocessing operations, whey will all rbind new test rows to the task.
[ ] Allow access to all column names in train_dt so inheriting pipeops can ensure uniqueness of columns