Text this: Algebraic and Coalgebraic Methods in the Mathematics of Program Construction