stricter validation for Bignums
Rationals
rename EXTENDED_TYPES to EXTENDED_TYPES_STR

* reflects the strategy used
implement efficient nested types
rename vars
handle Class