made private sealed types public to fix JIT AOT error