Estimados,
Se toma como correcta la implementación del ejercicio de esta forma:
lookup x = foldl aux Nothing
where
aux (Just y2) _ = Just y2
aux Nothing (y1,y2)
| x == y1 = Just y2
| otherwise = Nothing
La duda es más que nada lo que está en negrita, ya que al ver su solución, ustedes en vez de poner Nothing pusieron r.
Se toma correcto haber puesto Nothing?