In a model with, e.g., list_of_formulas = list( ~ 1 + x + s(z), ~ 1 + s(z) + d(x) ) the processor term only needs to be stored once as the corresponding weights for the different predictor terms are anyway not stored within the processed term. However, this would require information for orthogonalization to be more general. This means the processor would then not applied for each list_of_formulas terms separately, but applied once for all terms and then different predictor roles are assigned.