replace map with version derived from chain.

drop join in favor of control.monad