This raises a further question about validation in general.  Above you just check that things are strings, but never do any validation on those strings.  Should we do any checks on lengths, empty strings, etc?