Add a basic type system