fixing apparent garbage collection issue: PROTECTing mkChar call