Why don't interfaces explicitly define the concept of overridable events?

An interface with a function that has no output will turn into a custom event in the class that implements that interface, which is a bit weird, because in the interface we defined that as a function.

In OOP, interfaces usually define function signatures.

However, in UE, it seems that we want to favour custom events when a function has no output, but why not enhance the concept of interfaces in UE with the concept of overridable custom events, instead of magically turning functions into events as if nothing happened?

Was this just a bad design decision, or is there really a good motivation?

By good motivation, I mean that we can’t actually use non-return value functions from an interface in some case where a class would implement that interface, which seems absurd because I can also implement a function that returns a value and never use it. So, this must be a bad historical design decision that stuck and people never cared about introducing explicit overridable custom events.

Note that I am not asking about the differences between custom events and functions and that in custom events we can have latent nodes, like Delay, it’s not really my point.