Abstractions as morphisms between (co)algebras — LessWrong