#lang scheme/load (module m typed-scheme (define-typed-struct A ()) (define-typed-struct (x A) ([y : Number] [z : Boolean])) (: foo (x -> Number)) (define (foo z) 1) (provide (all-defined-out))) (module n scheme (require (prefix-in m: 'm)) (m:foo (m:make-x 1 #f)) m:x?) (require 'n)