-{-
-foo :: (forall g a . <[ () -> a
- PGArrow g (GArrowUnit g) a ->
- (forall b . PGArrow g (GArrowTensor g b b) b) ->
--}
---foo con mer = <[ ~~mer ~~con ~~con ]>
---foo const merge = <[ ~~merge ~~const (~~merge ~~const ~~const) ]>
-foo const merge = <[ ~~merge ~~const ~~const ]>
+demo con mer = <[ ~~mer ~~(con (2::Int)) ~~(con (12::Int)) ]>
+
+-- demo const mult = <[ let q = ~~(const (1::Int)) in ~~mult q q ]>