combinator 써서 좋은건 아는 함수가 나왔을 때 자세히 안읽어봐도 뭐하는 코드인지 바로 파악 가능하단 점인데, foldr은 너무 일반적이라 주는 정보가 0임. foldr을 반드시 써야하는 상황이면 어차피 코드 다 읽고 이해해야 하니 명시적인 재귀랑 패턴매칭으로 가독성 챙기는게 나음 (foldr은 인자순서 ㅈㄴ헷갈림). mconcat은 함수 이름만 봐도 이항연산이 결합법칙 만족하고 베이스 케이스가 항등원인거 알 수 있음. 쓸 수 있으면 무조건 쓰는게 낫다.