Do not just use what GHCi gives you when you type :t. Write a type specifier which makes sense to the specificity of the problem the function solves.