Promise는 Haskell의 모나드와 달라서 이미 'fire'된 상태.
JooyungsMacBook:js jooyung.han$ node parent.js
sent
sent
message received abc
message received cde
received
replied null
received
replied null
[ 'ABC', 'ABC' ]
done
^C
JooyungsMacBook:js jooyung.han$
이를 해결하려면 interpreter패턴 혹은 Free monad를 사용해야.