Introduce new Flow types. We probably can avoid introducing the legacy types, because they shouldn't be necessary, but this would break the symmetry and requires some more changes, e.g. the functions that convert should either throw or return optional. These functions are used within migrations, that in principle should act on Farcaster threads, but there could be some corner cases when somehow a Farcaster thread appears on older clients before these migrations. It's safer to introduce the type and have safe migrations.
https://linear.app/comm/issue/ENG-10945/create-necessary-flow-types