Running
emacs -q /tmp/foo.haml
gives a buffer in fundamental-mode where I expected it to be in
haml-mode.
An auto-mode-alist setup should be in 50haml-elisp.el so it's available
for use at startup. That will usually be the way haml-mode.el is
loaded.
A second auto-mode-alist in haml-mode.el is unnecessary but if it's the
same value then it does no harm (add-to-list doesn't repeat an entry
already present). It'd be there for non-debian users probably, in which
case if it's the same value then it can be left alone.