Para que se pueda aplicar un operador de cortocircuito, el operador lógico definido por el usuario ('X') debe tener el mismo tipo de valor devuelto que sus dos parámetros
Click to search this error in Google
English version
In order to be applicable as a short circuit operator a user-defined logical operator ('X') must have the same return type as the type of its 2 parameters