pub fn merge_optional<'buf, T, F>(
    this: &mut Option<T>,
    stream: &mut InputStream<'buf>,
    mapper: F
) -> Result<()>
where T: Default, F: Fn(&mut InputStream<'buf>, &mut T) -> Result<()>,