val rot = fn(s, key) { cp2s map(s2cp(s), by=fn(c) { rotate(rotate(c, distance=key, range='a'..'z'), distance=key, range='A'..'Z') }) } val s = "A quick brown fox jumped over something, you know." val key = 3 writeln " original: ", s writeln "encrypted: ", rot(s, key) writeln "decrypted: ", rot(rot(s, key), -key)