| 11 | |

| 12 | More precisely. The kind of scenario in the coercion framework where I know that `UniqueRepresentation` is really required is to make this assertion hold: |

| 13 | {{{ |

| 14 | sage: Zxy.<x,y>=ZZ[] |

| 15 | sage: Qx.<x>=QQ[] |

| 16 | sage: Qy.<y>=QQ[] |

| 17 | sage: Qxy=QQ['x','y'] |

| 18 | sage: x=Qx.0 |

| 19 | sage: y=Zxy.1 |

| 20 | sage: (x+y).parent() is Qxy |

| 21 | True |

| 22 | sage: Qy.<y>=QQ[] |

| 23 | sage: (Qy.0+Zxy.0).parent() is Qxy |

| 24 | True |

| 25 | }}} |

| 26 | |

| 27 | Note that the coercion framework needs to construct a common covering parent for `Zxy` and `Qx` and one for `Zxy` and `Qy` itself. It would be very surprising if the results were not identical. |

| 28 | (the fact that the resulting parent is equal to `Qxy` constructed by the user is convenient but less important). I don't think people would be doing that with `QuaternionAlgebra` so I think you could safely leave off the `UniqueRep` for now. |