[WIP] A safe database modelling layer with validation, normalisation and marshalling for multiple database backends