Generate primitive types instead of boxed object types

This generates `boolean`, `string`, and `number` instead of `Boolean`, `String`, and `Number`.  This should resolve #278.