update test
refactor
catch sync errors
decorate async functions to accept Results as input
docs
docs