What can patterns among separate groups of instructions be generalised into?
subroutines
loops
equations
rules