WTH can't we conditionalize time against other fixed points that are not time?

I came from webcore and I always thought it was curious that I cant naturally write an automation to conditionalize time and another fixed point in one condition.

For instance:
I only want this automation to run between sunrise and 5:00 pm. I have to write two conditions for this because the time condition can only be used before/after another hh:mm time.

Another useful feature that webcore had was being able to conditionalize time against a state change:

I only want this automation to run between 8:00 am and when ‘X’ input boolean gets turned off. Or between 8:00 am and when another automation is fired (state change).

Is this impossible in HA? No, but you have to write multiple conditions when it seems like it would be easier to give us the autonomy to create a condition between time and another fixed point without using multiple conditions.