brew switch is a powerful command to test that different versions of the same software behave the same.  For example I've been using this to switch between Erlang 16 and Erlang 17-rc2 to test that a project builds under both versions.  Unfortunately brew install gets in your way when you want to install a new version.

brew install erlang --HEAD
    brew unlink erlang
    brew install erlang 

Here you would get an error like "Warning: erlang-HEAD already installed, it's just not linked".  That's not so useful, and not really what I think of a Warning, since it stops doing what I requested.  This patch makes it so that it only bombs out if there is a linked version installed.