Parser fixes regarding suffix rescue/ensure
Fixed C.read and C.write return type, and check errno
Allow `as` to determine a type even if the casted value doesn't have a type (yet)
Code cleanup using the new features and fixes