! Program with a variety of contextual errors. let type String ~ array 4 of Char; type Name ~ array 3 of String; type Rec ~ record x: Integer, x: Integer end; var me: Name; var silly : maxint; ! var silly: Rec; ! [PRAC2:5] Fixed error about "silly" proc putstr (s: String) ~ let var i: Integer in begin s[4] := ' '; i := 0; while i do begin i := i+true; put (s[\i]) end end in begin me[true] := ['T','i','n','y']; me[2][2] := 0; put (me[1]); put (4); put (); putstr (initials (me)); puteol () end