+effectfulId :: a -> <Proc> a\r
+effectfulId x = x\r
+\r
+(.) :: (b -> <e> c) -> (a -> <e> b) -> a -> <e> c\r
+(f . g) x = f (g x)\r
+\r
+doubleId = effectfulId . effectfulId\r
+\r
+main :: Integer\r
+main = runProc (doubleId (13 :: Integer))\r
+--\r
+13
\ No newline at end of file