Some `KV` types may contain other `KV` types, it'd be nice if we invoked `KV::serialize()` on those instead of `Value::serialize()`. e.g. ```rust #[derive(KV)] pub struct Foo { #[slog(defer)] bar: Bar, } #[derive(KV)] pub stuct Bar { x: usize, path: String. } ```