Собственно это делает DateTime немного отличным от того же Money/Big number или других типов для значений, которые чаще всего без сайд-эффектов. Правильным в целом было бы и для DateTime явно разделить структуру данных и ее методы, от функций работы с текущим временем, но время вообще такая штука...