http://bannalia.blogspot.com/2013/12/objects-slots-functors-duality.html?m=1