message: improve Representation typing
diff: @@ -140,7 +140,7 @@ export class RepresentationRegistry<D, S extends Representation.State> {
  //
  export { Representation };
  -interface Representation<D, P extends PD.Params = {}, S extends Representation.State = Representation.State> {
  +interface Representation<D, P extends PD.Params = PD.Params, S extends Representation.State = Representation.State> {
  readonly label: string
  readonly updated: Subject<number>
  /** Number of addressable groups in all visuals of the representation */
  @@ -236,7 +236,7 @@ namespace Representation {
  }
  export const StateBuilder: StateBuilder<State> = { create: createState, update: updateState };
  - export type Any = Representation<any, any, any>
  + export type Any<P extends PD.Params = PD.Params, S extends State = State> = Representation<any, P, S>
  export const Empty: Any = {
  label: '', groupCount: 0, renderObjects: [], geometryVersion: -1, props: {}, params: {}, updated: new Subject(), state: createState(), theme: Theme.createEmpty(),
  createOrUpdate: () => Task.constant('', undefined),
  @@ -248,7 +248,7 @@ namespace Representation {
  destroy: () => {}
  };
  - export type Def<D, P extends PD.Params = {}, S extends State = State> = { [k: string]: RepresentationFactory<D, P, S> }
  + export type Def<D, P extends PD.Params = PD.Params, S extends State = State> = { [k: string]: RepresentationFactory<D, P, S> }
  export class GeometryState {
  private curr = new Set<number>();
  @@ -272,7 +272,7 @@ namespace Representation {
  }
  }
  - export function createMulti<D, P extends PD.Params = {}, S extends State = State>(label: string, ctx: RepresentationContext, getParams: RepresentationParamsGetter<D, P>, stateBuilder: StateBuilder<S>, reprDefs: Def<D, P>): Representation<D, P, S> {
  + export function createMulti<D, P extends PD.Params = PD.Params, S extends State = State>(label: string, ctx: RepresentationContext, getParams: RepresentationParamsGetter<D, P>, stateBuilder: StateBuilder<S>, reprDefs: Def<D, P>): Representation<D, P, S> {
  let version = 0;
  const updated = new Subject<number>();
  const geometryState = new GeometryState();
  