How to deal with users mutating DATE! and TIME! to be invalid?

I have whipped up these date tests as proposed ren-c date behaviour. I'm wondering what everyone thinks about the implications?

If date has these signatures: DateOnly, DateTime, DateTimeZone then I think a DateOnly needs a time to be compared with a DateTime and a DateTime needs to be "placed" in a zone before it can be compared with a DateTimeZone. I don't see that a DateZone (no time) would be that useful.

I have no idea if the make date! specification will be annoying or fine. I think it is descriptive when aiming to "place" a non-specific Date or DateTime.

Hoping that this is a relatively simple, predictable system of behaviour that can represent different meanings and draw attention to inadvertent mistakes.

1 Like