study20130904 -- what are type constructor and data constructor?
implement JSONClass