1{-# LANGUAGE TypeOperators #-}
2
3import GHC.Generics
4
5class Yo f where
6    yo :: f x -> Int
7
8instance (Yo f, Yo g) => Yo (f :*: g) where
9  yo (fx :*: gx)
10    = let
11        fx_c = yo fx
12        gx_c = yo gx
13      in _w0 fx_c gx_c
14
15