Work in progress -- Adding contract language
TypeCheck implemented