func Char.Rot13() { return Char(this.Order() + 13) when this is >= 'a' and <= 'm' or >= 'A' and <= 'M' return Char(this.Order() - 13) when this is >= 'n' and <= 'z' or >= 'N' and <= 'Z' return this } func String.Rot13() { var cs = [] for c in this { cs.Add(c.Rot13()) } String.Concat(values: cs) } "ABJURER nowhere".Rot13()