andCirc :: Gate g => Int -> Circuit g
andCirc n = buildCircuit (symbol (n+1) >>= foldM1 circMul >>= output)
andCirc :: Gate g => Int -> Circuit g
andCirc n = buildCircuit (symbol (n+1) >>= foldM1 circMul >>= output)
andCirc n = buildCircuit (symbol (n+1) >>= foldM1 circMul >>= output)