add mergeOuterJoin function
fix hashJoin
add AsyncProcedure.map
fix Process and Machine signatures
add return!
refactor: use Active Pattern
refactor