more generic option checker
can now add class name to serialization
type bound for options
split out the meat of the read/write body. getting ready for unions
change most type parameters to Type values
support for union types
updated readme