readVariants5 :: ArgRes a -> ArgRes b -> ArgRes c -> ArgRes d -> ArgRes e
                      -> VARIANT  -> IO (a,b,c,d,e)
readVariants5 f g h i j p
      = do z <- j p
           y <- i (p `addNCastPtr` sizeofVARIANT)
           x <- h (p `addNCastPtr` (2*sizeofVARIANT))
           w <- g (p `addNCastPtr` (3*sizeofVARIANT))
           v <- f (p `addNCastPtr` (4*sizeofVARIANT))
           return (v,w,x,y,z)
readVariants5 :: ArgRes a -> ArgRes b -> ArgRes c -> ArgRes d -> ArgRes e
                      -> VARIANT  -> IO (a,b,c,d,e)
readVariants5 f g h i j p
      = do z <- j p
           y <- i (p `addNCastPtr` sizeofVARIANT)
           x <- h (p `addNCastPtr` (2*sizeofVARIANT))
           w <- g (p `addNCastPtr` (3*sizeofVARIANT))
           v <- f (p `addNCastPtr` (4*sizeofVARIANT))
           return (v,w,x,y,z)
readVariants5 f g h i j p
      = do z <- j p
           y <- i (p `addNCastPtr` sizeofVARIANT)
           x <- h (p `addNCastPtr` (2*sizeofVARIANT))
           w <- g (p `addNCastPtr` (3*sizeofVARIANT))
           v <- f (p `addNCastPtr` (4*sizeofVARIANT))
           return (v,w,x,y,z)