> uptable::[[Char]]->[([Char],Int,Int,Int,Int)]->[([Char],Int,Int,Int,Int)] > uptable (xf:xs) main_array = map (\(x,y,z,r,t)-> do if x==xf then tupup x y > z r t second xs ) main_array Why do you have a `do' in that snippet?