updated unary operators and added a few more tests from my personal queue
support nested structs and unions