I did also recently put this together with the intention of specifically allowing for reversible projections, but it's a bit rough around the edges (I'm working on it) https://github.com/hersfeldtn/projectionpasta