* We change to use VarType instead of CompType for signature parameters which allows us to represent different types of variables beyond just unsigned/signed integer and float.