[Flow] Prettier forces an extra comma for inexact object type flow syntax, only for object indexer.
**Prettier 2.0.2**
[Playground link](https://prettier.io/playground/#N4Igxg9gdgLgprEAuEMCeAHOACAchAfQGEIBbUgQ2wF5tgAdKbbCpbAIwggBs4KoANI2YA6MYwC+w7I3RZsAFWJlKNOtNYcuvfkKbYxIvVP2zMOAJJQAJnAAecAE4F8y8lVoN9AbQDOMRwBLKABzAF02Th4+QWlDSWkzeStbB2cSdzUvZj8A4PDI7Ri9UTFjEAEQCAwYQOhfZFAKR0cIAHcABWaEBpQKbjaKNAbK9kcKMABrOBgAZQwJ-OQAgFc4SoALGFJuAHUNwPhfBbA4WZ7DwIA3Q7RkcF8RkGDfJxgO8ZDKZAAzftfKgArXx2ABC4ymM1mFFIcAAMsE4L9-usQMC7LN8rwAIorCDwZHcAEgBaOV6Oe4-bjtCok1qvXbjDD3DCOODkq5IyoARzx8A+1V6IAovgAtFA4HBbNZaWzeYE2R8KF8KITia9SIFlo41pVfFi4Lj8UikH8iaiYBR2LtAtYYBtkAAmSoBCiBbj5DLfFDsgCstJWrwUVt6ZuJVzWKQQczAQRqAEEbLN0Lw1ajWcEYDa7Q6kAAOAAMEgkQA)
```sh
--parser flow
```

**Input:**
```jsx
type No_Comma = {
  a: boolean,
  ...
}
  
type T_Comma = {
  a: boolean,
  ...,
}
  
type Indexer_No_Comma = {
  [string]: boolean,
  ...
}
  
type Indexer_Comma = {
  [string]: boolean,
  ...,
}
```

**Output:**
```jsx
type No_Comma = {
  a: boolean,
  ...
};

type T_Comma = {
  a: boolean,
  ...
};

type Indexer_No_Comma = {
  [string]: boolean,
  ...,
};

type Indexer_Comma = {
  [string]: boolean,
  ...,
};

```

**Expected behavior:**
The problem exists only for `trailing-comma: "es5"` setting. `trailing-comma: "none"` works as expected.

I think behavior for indexer object type should be the same as for simple one

I'd expect output to be 

```
type Indexer_No_Comma = {
  [string]: boolean,
  ...
};

type Indexer_Comma = {
  [string]: boolean,
  ...
};
```
[Flow] Prettier forces an extra comma for inexact object type flow syntax, only for object indexer.
**Prettier 2.0.2**
[Playground link](https://prettier.io/playground/#N4Igxg9gdgLgprEAuEMCeAHOACAchAfQGEIBbUgQ2wF5tgAdKbbCpbAIwggBs4KoANI2YA6MYwC+w7I3RZsAFWJlKNOtNYcuvfkKbYxIvVP2zMOAJJQAJnAAecAE4F8y8lVoN9AbQDOMRwBLKABzAF02Th4+QWlDSWkzeStbB2cSdzUvZj8A4PDI7Ri9UTFjEAEQCAwYQOhfZFAKR0cIAHcABWaEBpQKbjaKNAbK9kcKMABrOBgAZQwJ-OQAgFc4SoALGFJuAHUNwPhfBbA4WZ7DwIA3Q7RkcF8RkGDfJxgO8ZDKZAAzftfKgArXx2ABC4ymM1mFFIcAAMsE4L9-usQMC7LN8rwAIorCDwZHcAEgBaOV6Oe4-bjtCok1qvXbjDD3DCOODkq5IyoARzx8A+1V6IAovgAtFA4HBbNZaWzeYE2R8KF8KITia9SIFlo41pVfFi4Lj8UikH8iaiYBR2LtAtYYBtkAAmSoBCiBbj5DLfFDsgCstJWrwUVt6ZuJVzWKQQczAQRqAEEbLN0Lw1ajWcEYDa7Q6kAAOAAMEgkQA)
```sh
--parser flow
```

**Input:**
```jsx
type No_Comma = {
  a: boolean,
  ...
}
  
type T_Comma = {
  a: boolean,
  ...,
}
  
type Indexer_No_Comma = {
  [string]: boolean,
  ...
}
  
type Indexer_Comma = {
  [string]: boolean,
  ...,
}
```

**Output:**
```jsx
type No_Comma = {
  a: boolean,
  ...
};

type T_Comma = {
  a: boolean,
  ...
};

type Indexer_No_Comma = {
  [string]: boolean,
  ...,
};

type Indexer_Comma = {
  [string]: boolean,
  ...,
};

```

**Expected behavior:**
The problem exists only for `trailing-comma: "es5"` setting. `trailing-comma: "none"` works as expected.

I think behavior for indexer object type should be the same as for simple one

I'd expect output to be 

```
type Indexer_No_Comma = {
  [string]: boolean,
  ...
};

type Indexer_Comma = {
  [string]: boolean,
  ...
};
```