mixing ~ and backcall
merge
implementing backcalls within async functions
adding more helpful error output