<html><head></head><body dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">It seems like types defined with #:omit-define-syntaxes can be used within the same module, but not when it’s provided and required into a different module.  Is this a bug, or is there something else I need to do, or what?  <br>#lang typed/racket<br>(module thing typed/racket<br>  (provide x)<br>  (define-type x 5 #:omit-define-syntaxes)<br>  (define x : x 5)<br>  (define-type y x)<br>  (void (ann x y)))<br>(require 'thing)<br>(define-type z x)<br>;. Type Checker: parse error in type;<br>; type name `x' is unbound in: x<br>;. Type Checker: parse error in type;<br>; type name `x' is unbound in: x<br>;. Type Checker: Summary: 2 errors encountered in:<br>;  x<br>;  x<br>And the x in (define-type z x) is highlighted.  <br><br></body></html>