Patterns as Tools for Algebraic Reasoning | Synapse