some type support:
- save type information
- function return values, casting to expected type for ints
- generating different size ints (don't properly support unsigned yet)
-