Type systems are one of the fundamental building blocks of any compiler. They are there to prevent certain kinds of semantic errors from occurring. Unfortunately with bigger and more complex languages the type system also becomes large and complex. Often resulting in implementations which are hard to understand and maintain even by their creators. Attribute Grammars allow for automatic computation and traversals over abstract syntax trees. Traditionally these computations can only be done over one tree at a time. This thesis investigates the possibility of using a new attribute grammar system called ruler-core to implement a type system in an effort to have more maintainable code.