Agregar dos funciones juntas en Haskell

Hola, soy nuevo en Haskell y me encontré con un problema interesante, pero no estaba muy seguro de cómo resolverlo. Estoy a punto de mostrarle solo dos partes de la pregunta como ejemplo.

La pregunta es que debemos ingresar un número entre 13 y 15 dígitos. luego de ese número eliminamos el último número. como 19283828382133 debería poner exactamente el mismo número sin los últimos 3, 1928382838213.

Luego, cada dígito impar (no número) de estos números se duplicará. Entonces obtendrás 2,9,4,8,6 etc.

Este es mi código hasta ahora. Como puede ver en el código, he podido completar estas dos partes individualmente (en funcionamiento), pero no estoy seguro de cómoLos agregaría juntos.

lastdigit :: Integer -> Integer -- This Function removes the last number
lastdigit x = x`div`10

doubleOdd (x:xs) = (2*x):(doubleEven xs) -- This function doubles every odd digit not number.
doubleOdd [] = []
doubleEven (x:xs) = x:(doubleOdd xs)
doubleEven [] = []

Entonces, para explicar mejor el programa que estoy tratando de construir, primero pasaré por el paso de tomar el número entre 13 y 15 dígitos. Luego, primero eliminará el último número y luego irá automáticamente al siguiente paso de duplicar cada dígito impar (no el número). Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta