>>449
自作の関数作るときとかは、型推論に任せるより自分で決めた方が速かったり、逆に遅い代わりに大きな数を扱えたりする
length関数と同じ機能の関数mylength作るとき、

mylength [] = 0
mylength (_:ns) = 1 + mylength ns

の型は[a]->aだが、

mylength::[a]->Int
mylength [] = 0
mylength (_:ns) = 1 + mylength ns

とすれば、当然ながら型は[a]->Intになる