setSurface(surface: SurfaceLabel): Label {
    return produce(this, (draft: Draft<Label>) => {
      draft.surface = castDraft(surface)
    })
  }