Type systems enforce a syntactic discipline on programmers (language users).
Macros systems let programmers (language designers) change the syntax of their language.
This paper argues that a macro system is an ideal vehicle for implementing type systems.
Gradual type systems need comprehensive performance evaluation, and this evaluation needs to benchmark all ways of gradually typing example programs.
Just checking the fully-untyped and fully-typed versions of a program is not enough!