Clay
Clay is a systems programming language with whole program type propagation designed to support Generic programming. It supports Multiple dispatch and compile time meta-programming. It does not have garbage collection
There is little documentation, but the following discussions may be of help: