If there's a Typed Racket type that corresponds to struct/c, use that. Otherwise just use struct/c and make sure that fake-types.rkt exports struct/c (without renaming).
Do not turn a #:struct into a plain recursive type, because it would be bad for fake-types.rkt to interpret all recursive types as describing structs. (Hope that makes sense to you, future Ben.)
#:struct
option fromrequire/typed
struct/c
contractIf there's a Typed Racket type that corresponds to
struct/c
, use that. Otherwise just usestruct/c
and make sure thatfake-types.rkt
exportsstruct/c
(without renaming).Do not turn a
#:struct
into a plain recursive type, because it would be bad forfake-types.rkt
to interpret all recursive types as describing structs. (Hope that makes sense to you, future Ben.)