It seems this one supports also preserving type comments: https://github.com/mbdevpl/typed-astunparse (in contrast with https://github.com/nvbn/py-backwards-astunparse).