Source code and some documentation. If you want to try something:
op m : 2 -> 1 op d : 1 -> 2 rule frobl : 1*d;m*1 => m;d rule frobr : d*1;1*m => m;d plotnormalize d;d*1;d*2;2*m;1*m;m