Like transmute-table.express, this function never modifies the input by reference. This
function adds/chains a select expression that will be evaluated by data.table::data.table,
possibly specifying the helper function .transmute_matching, which is assigned to the final
expression's evaluation environment when calling end_expr() (i.e., ExprBuilder's eval
method).
Said function includes two pronouns that can be used by .how and .SDcols:
Unlike a call like DT[, (vars) := expr], .SDcols can be created dynamically with an
expression that evaluates to something that would be used in place of vars without using the
captured data.table. See the examples here or in table.express-package.