Subject: visible-bell not acting like a special variable?

From: Mario Valencia <[email-masked]>
Date: Thu, 27 Nov 2014 05:50:00 -0600

(setq visible-bell t) ; no bell
(let ((visible-bell nil)) ; but ring bell for this one
  (next-line)) ; when at end of buffer, C-x C-e should ring the bell. it
doesn't.

why doesn't this work?