Now the result of operations is a StructResult; Added some spects for exceptions