Hello, list! I am writing down a macro package for commutative diagrams using metafun. This is my first try: https://bitbucket.org/andrecaldas/math-video-classes/src/9a050eab20348c9a9c9... Used here: https://bitbucket.org/andrecaldas/math-video-classes/src/9a050eab2034/src/pr... But I would like to use some "object oriented" like approach. That is, I'd like the diagram data structure to be set up like this: d = CD.new; d.vertex("$X$"); d.arrow("$f$"); d.vertex("$Y$"); d.newline; d.arrow("$\pi$"); d.arrow("$\pi$"); d.vertex("$A$"); d.arrow("$g$"); d.vertex("$B$"); or even in some "thelabel" similar fashion, d = CD.new; CD.vertex(d, "$X$"); CD.arrow(d, "$f$"); CD.vertex(d, "$Y$"); CD.newline(d); CD.arrow(d, "$\pi$"); CD.arrow(d, "$\pi$"); CD.vertex(d, "$A$"); CD.arrow(d, "$g$"); CD.vertex(d, "$B$"); How do I do that in METAFUN/METAPOST? Cheers, André Caldas.