Вы неправильно понимаете свою собственную функцию типа, среднее значение всегда больше 3, потому что у вас есть список триплетов (или кортежей из трех?):
averages :: [(Double, Double, Double)] -> [Double]
averages xs = [ (x+y+z) / 3 | (x,y,z) <- xs ]
$> averages [(8,6,7), (4,4,10), (1,1,1)]
=> [7.0,6.0,1.0]