method2 :: Member
        -> [VarIn]
        -> ArgOut a1
        -> ArgOut a2
        -> IDispatch i
        -> IO (a1,a2)
method2 member args argout1 argout2 obj = do
   dispid <- obj # getMemberID member
   catchMethError member (methodID2 dispid args argout1 argout2 obj)
method2 :: Member
        -> [VarIn]
        -> ArgOut a1
        -> ArgOut a2
        -> IDispatch i
        -> IO (a1,a2)
method2 member args argout1 argout2 obj = do
   dispid <- obj # getMemberID member
   catchMethError member (methodID2 dispid args argout1 argout2 obj)
method2 member args argout1 argout2 obj = do
   dispid <- obj # getMemberID member
   catchMethError member (methodID2 dispid args argout1 argout2 obj)