closes #153 many improvements to type layer (test, docs, refinement)

This can be a new issue.. It looks like the Encoder interface currently only supports long, String, and int primitives.  Should float, double, and boolean be added?