type checking now works for function arguments
assignments work for multi-byte values (according to type) and for constants; compiler returns non-zero on error.