anchor.diff:  
     /// Strip off all underscores, even if double underscores
     String get exposedMethodName => method.name.startsWith('get__')
  -      ? method.name.substring(5)
  -      : method.name.substring(4);
  +      ? safeIdentifierForString(method.name.substring(5))
  +      : safeIdentifierForString(method.name.substring(4));
   
     @override
     String toString() {
       final returnValue = dereference(parameters.first.type);
  +    final valRef = returnValue.dartType == 'double' ||
  +            returnValue.dartType == 'int' ||
  +            returnValue.dartType.startsWith('Pointer')
  +        ? 'value'
  +        : 'ref';
       return '''
         ${returnValue.dartType} get $exposedMethodName {
           final retValuePtr = calloc<${returnValue.nativeType}>();
  
positive.code: 
            if (FAILED(hr)) throw WindowsException(hr);
  
            final retValue = retValuePtr.value;
            return ${convertBool ? 'retValue == 0' : 'retValue'};
          } finally {
            free(retValuePtr);
  
negative.code: 
    /// Strip off all underscores, even if double underscores
    String get exposedMethodName => method.name.startsWith('put__')
        ? safeIdentifierForString(method.name.substring(5))
        : safeIdentifierForString(method.name.substring(4));
  
    @override
    String toString() => '''
  