Fix flow.empty
Update flow.first
Refactor flow.join
Add async.reduce
Add resource.traverse
Update module build
misc