Type now properly uses functions over field.
Todo cleanup.
Fields are now automatically recorded function traits.
Json printer now uses the field trait.