I am not sure at the moment but don‘t you need superuser access to create operators? In that case not „any application“ could make your application faulty.
> To be able to create an operator, you must have USAGE privilege on the argument types and the return type, as well as EXECUTE privilege on the underlying function. If a commutator or negator operator is specified, you must own these operators.