Use Either for exception handling in Sync