cats-mtlif it works out, you know what I think :)
IOrequires some subtlety when teaching it, so you might want to make sure they know how to write code with algebras first
s => (a, s), but only the combinators
IOas an opaque entity imho
*>means "and then"
State , check
Ok the intuition holds...
List(1,2,3) *> List(4, 5, 6)<--- intuition breaks
Listin many respects so this is a good exercise regardless