anchor.diff:      if (FAILED(hr)) throw WindowsException(hr);
     ''';
   
  +  String vectorDeclaration() => '''
  +    IVector<String> $name($methodParams) {
  +    final retValuePtr = calloc<COMObject>();
  +    $parametersPreamble
  +    ${ffiCall()}
  +    $parametersPostamble
  +    return IVector(retValuePtr);
  +  }
  +''';
  +
     String vectorViewDeclaration() => '''
       List<String> $name($methodParams) {
       final retValuePtr = calloc<COMObject>();
  
positive.code:       $parametersPostamble
        free(retValuePtr);
      }
    }
  ''';
  
    String vectorDeclaration() => '''
      IVector<String> $name($methodParams) {
      final retValuePtr = calloc<COMObject>();
      $parametersPreamble
      ${ffiCall()}
      $parametersPostamble
      return IVector(retValuePtr);
    }
  ''';
  
  
negative.code:   @override
    String toString() {
      try {
        if (isVectorReturn) return vectorDeclaration();
        if (isVectorViewReturn) return vectorViewDeclaration();
        if (isCOMObjectReturn) return comObjectDeclaration();
        if (isVoidReturn) return voidDeclaration();
        if (isStringReturn) return stringDeclaration();
  