more defensive programming: - check for illegal and (yet?) unsopported types - properly handle all supported types
more defensive programming:
- check for illegal and (yet?) unsopported types
- properly handle all supported types

zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb