Any type with a non-primitive `[<-` method is going to force a copy on modification. So the only way to get linear performance out of `factor` and `POSIXct` is to inline their `[<-` methods and only set the class attribute at the end.