#lang scheme/load (module square typed-scheme ;(provide: [square (Integer -> Integer)]) (provide: [square (Integer -> Integer)]) ;(: square (Number -> Number)) (define: (square [n : Number]) : Number (* n n)) ) (module squareclient typed-scheme (require 'square) (square 10) ;; 100 (integer? 10.1) ;; #f (square 10.1) ;; 102.009999... )