examples.ss
#lang scheme

(require "main.ss")

;; adder : number? -> number? -o number?
;; A curried addition function.  The result of partial application
;; should be applied at most once, since subsequent applications would
;; try to add a symbol.
(define ((adder x) y)
  (let ([result (+ x y)])
    (set! x 'symbol)
    result))

(provide/contract [adder (number? . -> . (number? . -o . number?))])