Topics/validate

Add validation utilities to all types.