What the heck is up with time in templates

Basically, why can’t we use time in a straightforward way in templates, especially times with respect to now? For instance, if I want to create a template that is evaluated 10 seconds after a state change, I can only do that by including a time sensor and checking it every second. AFAIK there’s no way to have it only trigger after 10 seconds.
I also notice that a lot of users already expect it to work this way, and thus erroneously use now() in their templates.

This is fixed by for and delay_on options and the like for specific integrations, but implementing those is then actively discouraged by @balloob (see for instance my PR at https://github.com/home-assistant/core/pull/29122).
I always feel like I’m crazy for seeming to be the only one bothered by this. In short, this would make templates much more powerful and useful.

I thought I’d join in this stream of consciousness :smiley:. I’ve tried fixing this myself and it turned out to be really hard to fix since it really touches the core of home assistant.