added builtin def
added better error creation stuff
created assertion macros for types and empty list