///|
pub fn compress(uncompressed : String) -> String {
_compress(uncompressed, 16, code => char_from_code_unit(code))
}
///|
pub fn decompress(compressed : String) -> String? {
if compressed == "" {
None
} else {
let length = compressed.length()
_decompress(length, 32768, idx => {
if idx < length {
compressed.code_unit_at(idx).to_int()
} else {
0
}
})
}
}