Outcome Separation Logic: Local Reasoning for Correctness and Incorrectness with Computational Effects | Synapse