Second validateTypes parameter is schema
Reduce number of traits a bit in favour of classes where possible