The function basically returns the same objects (= does nothing). This could also be written explicitly as a named function. new Function <- function(x) { x } which would then be. cross val <- function(data, lambda=0, y trans = new Function) This is the default value, like in lambda=0, except the default value is a function itself.