('a -> 'b -> 'c)
-> Async<Result<'a option, 'd>>
-> Async<Result<'b option, 'd>>
-> Async<Result<'c option, 'd>>
getPostById : PostId -> Async<Result<Post option, exn>>
getUserById : UserId -> Async<Result<User option, exn>>
userTweet : Post -> User -> UserTweet
// Async<Result<UserTweet option, Exception>>
AsyncResultOption.map2 userTweet (getPostById postId) (getUserById userId)