pub async fn authenticate<Conn>(
    conn: &Conn,
    window: Window,
    magic: u32
) -> Result<Cookie<'_, Conn, AuthenticateReply>, ConnectionError>
where Conn: RequestConnection + ?Sized,