This sounds like a type system issue (and the linked Etsy post is also a type system issue), or more precisely languages / systems with a loose type system where you can just pretend a time is a number without having to explicitly say what that number means.
Conventions are good, but (real) type systems are better because they check everything every time.
Yes. And in this context, it doesn't even matter (too much) whether your type system is statically checked or done at runtime.
The main difference is whether the compiler will yell at you, or whether it'll be a runtime error. But the important point is that your mixing up won't go through and silently do the wrong thing.
This sounds like a type system issue (and the linked Etsy post is also a type system issue), or more precisely languages / systems with a loose type system where you can just pretend a time is a number without having to explicitly say what that number means.
Conventions are good, but (real) type systems are better because they check everything every time.