Это просто ваша перезапись, которая удаляет вызовы функций головы и хвоста.
removeall val [] = []
removeall val (x:xs) = if (x == val)
then removeall val xs
else x:removeall val xs
Лично я предпочитаю
removeall = filter . (/=)
один, данный другими, но начинающему может быть сложнее быстро понять.