Added testcase for structs of structs (with no pointers involved)
Refined bounds checking to distinguish between out of bounds, invalid and unset failures