simple2 :: Gate g => Circuit g
simple2 = buildCircuit $ do
    cs <- safeChunksOf 4 <$> symbol 8
    d <- zipWithM circXor (cs !! 0) (cs !! 1)
    output =<< circProd d
simple2 :: Gate g => Circuit g
simple2 = buildCircuit $ do
    cs <- safeChunksOf 4 <$> symbol 8
    d <- zipWithM circXor (cs !! 0) (cs !! 1)
    output =<< circProd d
simple2 = buildCircuit $ do
    cs <- safeChunksOf 4 <$> symbol 8
    d <- zipWithM circXor (cs !! 0) (cs !! 1)
    output =<< circProd d