method7 :: Member 
        -> [VarIn]
        -> ArgOut a1 -> ArgOut a2 -> ArgOut a3
        -> ArgOut a4 -> ArgOut a5 -> ArgOut a6 -> ArgOut a7
        -> IDispatch i -> IO (a1, a2, a3, a4, a5, a6, a7)
method7 member args argout1 argout2 argout3 argout4 argout5 argout6 argout7 obj = do
    dispid <- obj # getMemberID member
    catchMethError member $
          methodID7 dispid args argout1 argout2 argout3
                                argout4 argout5 argout6 argout7 obj
method7 :: Member 
        -> [VarIn]
        -> ArgOut a1 -> ArgOut a2 -> ArgOut a3
        -> ArgOut a4 -> ArgOut a5 -> ArgOut a6 -> ArgOut a7
        -> IDispatch i -> IO (a1, a2, a3, a4, a5, a6, a7)
method7 member args argout1 argout2 argout3 argout4 argout5 argout6 argout7 obj = do
    dispid <- obj # getMemberID member
    catchMethError member $
          methodID7 dispid args argout1 argout2 argout3
                                argout4 argout5 argout6 argout7 obj
method7 member args argout1 argout2 argout3 argout4 argout5 argout6 argout7 obj = do
    dispid <- obj # getMemberID member
    catchMethError member $
          methodID7 dispid args argout1 argout2 argout3
                                argout4 argout5 argout6 argout7 obj