Revises types again, a bit simpler now (no more templating)
Renames types to CamelCase
Loosens type restrictions on field::type::{String,Null}