Rhombus : + on draw.Point

Hey y'all :man_raising_hand:

Is there a way to use + on draw.Point?

So, something like this:

#lang rhombus/static

import:
  draw open

operator ((a :: Point) + (b :: Point)):
  Point(a.x + b.x, a.y + b.y)

def a = Point(1, 2)
def b = Point(3, 4)

a + b

If I use the above, I get this:

$ rhombus /tmp/journal/2026-08-31/test-operator-point-add.rhm 
+: argument does not satisfy annotation
  argument: 1
  annotation: Point
  context...:
   /tmp/journal/2026-08-31/test-operator-point-add.rhm:6:0: +
   body of "/tmp/journal/2026-08-31/test-operator-point-add.rhm"
   /home/dharmatech/.local/share/racket/9.3/pkgs/rhombus-exe/rhombus/run.rhm:154:0: import_module
   .../amalgam/effect.rkt:22:19
   body of "/home/dharmatech/.local/share/racket/9.3/pkgs/rhombus-exe/rhombus/run.rhm"

Thanks for any suggestions!

Ed

It looks like this works:

#lang rhombus/static

import:
  draw open
  lib("racket/base.rkt") as rkt

operator +:
  ~weaker_than: * /
  ~same_as: -
  ~associativity: ~left
| ((a :: Point) + (b :: Point)) :: Point:
    Point(rkt.#{+}(a.x, b.x),
          rkt.#{+}(a.y, b.y))
| ((a :: Number) + (b :: Number)) :: Number:
    rkt.#{+}(a, b)

def a = Point(1, 2)
def b = Point(3, 4)

a + b

But, I'm not sure if that's considered idiomatic Rhombus (i.e. reaching directly into rkt).