This repository was archived by the owner on Oct 26, 2023. It is now read-only.

Description
function overloading(case-lambda):
(: a (case-> (-> Number)
(-> Number Number)))
(define a
(case-lambda
[() 0]
[([x : Number]) x]))
important tips:
inst: this is important since some builtin function is case-lambda and has polymorphism make provide concrete type be quite important.
ann: #{x : Number} 7 or (ann x Number) 7