How will this compare to Typed Racket and Typed Clojure? In particular, Typed Clojure works with Clojure's multi-methods, I believe.
Also, you should have a look at Andrew Wright's work on Soft Scheme, which also used row polymorphism to statically analyze and check Scheme programs.