본인 하스켈 씹초짜라 하는 질문임


sequence, length, head 타입 보니까


sequence :: (Traversable t, Monad m) => t (m a) -> m (t a)

length :: Foldable t => t a -> Int
head :: [a] -> a


이렇게 되어 있던데 얘네가 맞물리려면


sequence :: [[Int] -> Int] -> [Int] -> [Int]

length :: [Int] -> Int

head :: [Int] -> Int


이런식으로 타입클래스나 임의의 타입이 구체적인 타입으로 정해져야하잖아

이런 과정을 뭐라고 부름? 그냥 타입추론임?