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

float, double, boolean would be nice.  I can do it as part of this pull req or as a new issue.  Whatever is easier to review.