MODULE TString; // gm2-style opaque String, imported (not pervasive): value ops on an // opaque type are pointer-like. FROM DString IMPORT String, Make, Get, IsNil; VAR s, t : String; VAR ExitCode : INTEGER; BEGIN s := Make(42); t := s; IF (Get(t) = 42) AND NOT IsNil(t) THEN ExitCode := 42 ELSE ExitCode := 1 END END TString.