나는 모나드를 설명하기가 어려운게 그냥 대부분의 언어에서 (HKT의 부재로) Monad
를 정의를 못해서라고 생각한다.
Haskell에 대한 경험이 없는 친구들한테 모나드를 설명하면 잘 알아듣는다. 근데 끝나고 그게 그럼 클래스냐 디자인 패턴이냐 이런 질문이 이어진다.
자기가 쓰고있는 언어에서 어떻게 쓸수있는지를 묻는셈인데, 여기서 '굳이 따지면 디자인패턴 같은거다' 라고하면 실망하는게 느껴졌다.
같은 이유로, Haskell 사용자에게 카테고리 이론의 유용함을 설명하고싶다면 Category
인스턴스의 활용부터 시작하는게 맞다고 생각한다.