public static void cppOutputFunctionSignature(Cons function) {
    { String result000 = null;

      { Object old$CurrentStream$000 = Stella.$CURRENT_STREAM$.get();

        try {
          Native.setSpecial(Stella.$CURRENT_STREAM$, OutputStringStream.newOutputStringStream());
          {
            ((OutputStream)(Stella.$CURRENT_STREAM$.get())).nativeStream.print(((StringWrapper)(function.rest.value)).wrapperValue);
            Cons.cppOutputFormalParameters(((Cons)(function.rest.rest.value)));
          }
          result000 = ((OutputStringStream)(((OutputStream)(Stella.$CURRENT_STREAM$.get())))).theStringReader();

        } finally {
          Stella.$CURRENT_STREAM$.set(old$CurrentStream$000);
        }
      }
      { String baresignature = result000;

        Stella_Object.cppOutputTypedEntity(function.value, StringWrapper.wrapString(baresignature), null);
      }
    }
  }