incomplete work-in-progress/draft based on Iteratee's (will not pursue
this but will try to use other approaches, for example @runarorama's
http://nescala.org/2013/talks#30)
starting with temporary solution that does not rely on Iteratee's