Hardware Design with Generalized Arrows. - Megacz, Adam (2011)