pub fn io_copy_interactive<R, W>(
    read: &mut BufReader<R>,
    write: &mut W
) -> Result<(), Either<Error, Error>> where
    R: Read,
    W: Write