pub fn get_lt<K>(
        &self,
        key: K,
    ) -> io::Result<Option<(InlineArray, InlineArray)>>
    where
        K: AsRef<[u8]>,
    {
        self.range(..key).next_back().transpose()
    }
Retrieve the key and value before the provided key,
if one exists.

# Note
The order follows the Ord implementation for `Vec<u8>`:

`[] < [0] < [255] < [255, 0] < [255, 255] ...`

To retain the ordering of numerical types use big endian reprensentation

# Examples

```
# fn main() -> Result<(), Box<dyn std::error::Error>> {
use sled::InlineArray;
# let config = sled::Config::tmp().unwrap();
# let db: sled::Db<1024> = config.open()?;
for i in 0..10 {
db.insert(&[i], vec![i])
.expect("should write successfully");
}

assert!(db.get_lt(&[]).unwrap().is_none());
assert!(db.get_lt(&[0]).unwrap().is_none());
assert_eq!(
db.get_lt(&[1]).unwrap(),
Some((InlineArray::from(&[0]), InlineArray::from(&[0])))
);
assert_eq!(
db.get_lt(&[9]).unwrap(),
Some((InlineArray::from(&[8]), InlineArray::from(&[8])))
);
assert_eq!(
db.get_lt(&[10]).unwrap(),
Some((InlineArray::from(&[9]), InlineArray::from(&[9])))
);
assert_eq!(
db.get_lt(&[255]).unwrap(),
Some((InlineArray::from(&[9]), InlineArray::from(&[9])))
);
# Ok(()) }
```
src/tree.rs