Reviews are two rows, not one
A stay produces a guest review and a host review, and they are written at different times, become visible under different rules, and can be reported separately. Holding both in one row means every query has to know which half it is reading, and a single row cannot be published twice. Two rows with a type column costs one extra join and makes 'show me everything this user wrote' a plain filter.