Can now just pass optionals, will work fine for uninitialized values, no need to do var=NULL stuff
Improves error messages