Abstract Interpreters: A Monadic Approach to Modular Verification | Synapse