Parsing basic numeric types
Add negative and parens rationals to type parser