pub fn transaction<K: ToRedisArgs + Debug, T, F: FnMut(&mut Pipeline) -> OcyResult<Option<T>>>(
    conn: &dyn ConnectionLike,
    keys: &[K],
    func: F
) -> OcyResult<T>