propertyGet4ID :: DISPID -> [VarIn] -> ArgOut a1 -> ArgOut a2 -> ArgOut a3 -> ArgOut a4 -> IDispatch d -> IO (a1,a2,a3,a4)
propertyGet4ID dispid argsin (varin1,argres1) (varin2,argres2) (varin3,argres3) (varin4,argres4) obj
      = do p <- obj # invokePropertyGet dispid argsin [varin1,varin2,varin3,varin4]
           unmarshallVariants4 argres1 argres2 argres3 argres4 p
propertyGet4ID :: DISPID -> [VarIn] -> ArgOut a1 -> ArgOut a2 -> ArgOut a3 -> ArgOut a4 -> IDispatch d -> IO (a1,a2,a3,a4)
propertyGet4ID dispid argsin (varin1,argres1) (varin2,argres2) (varin3,argres3) (varin4,argres4) obj
      = do p <- obj # invokePropertyGet dispid argsin [varin1,varin2,varin3,varin4]
           unmarshallVariants4 argres1 argres2 argres3 argres4 p
propertyGet4ID dispid argsin (varin1,argres1) (varin2,argres2) (varin3,argres3) (varin4,argres4) obj
      = do p <- obj # invokePropertyGet dispid argsin [varin1,varin2,varin3,varin4]
           unmarshallVariants4 argres1 argres2 argres3 argres4 p