Buenas! Solo para verificar si la respuesta que doy a este ejercicio es correcta.
La función dobleAp f = (f True, f ’a’) entiendo que recibe una funcion y que luego esta funcion recibe un parametro y retornara algo (no se). Por lo tanto creo que el tipo es: dobleAp :: (a->a)
Luego entiendo que no anda porque la función es polimorfica y al pasarle a f True estamos como que obligando a que lo que no tiene un tipo definido ahora sea un Bool y eso no es valido, seria la misma idea para f 'a'.
Espero me puedan corregir si estoy mal.
Gracias!