I'm surprised you didn't find my library because I managed to create a statically typed vocabulary library for Go that maps the specification verbatim:
https://pkg.go.dev/github.com/go-ap/activitypub#ObjectIt wasn't easy indeed, and it locked me out of some options to support execution time vocabulary extensions, but hey, it works and it's relatively easy to use.