¿Cambiar el tipo de retorno de una función en Haskell?

¿Existe una manera sucinta de cambiar el tipo de retorno de una función?

Considerarpor ejemplo comparing enData.Ord. Devuelve unOrdering. Sin embargo, solo me interesa saber si los dos elementos son iguales o no. Entonces necesito convertir el resultadoOrdering a unBool.

Una forma directa en la que puedo pensar es:

isEqualOn f x y = if comparing f x y==EQ then True else False 

(oisEqualOn f x y = comparing f x y==EQ como aquí como se señala en los comentarios).

¿Hay alguna forma más compositiva de hacer esto (una especie de adaptacióncomparing o escribirlo sin sentido) sin tener que escribir todo? Idealmente, estoy buscando algo que funcione también en funciones n-ary.

- Actualización -

Según lo sugerido por las respuestas / comentarios, el ejemplo específico anterior (isEqualOn) se puede implementar utilizando el estándaron funcionan comoon (==). Sin embargo, mi pregunta es acerca de la técnica general para cambiar los tipos de retorno de función de una manera compositiva / sin sentido, como lo demuestra el enfoque SEC en los comentarios.

Respuestas a la pregunta(2)

Su respuesta a la pregunta