BaseBlacklist::getTypeFromTitle() is broken.
> var_dump(BaseBlacklist::getTypeFromTitle(Title::newFromText('MediaWiki:Spam-blacklist'))); bool(false)
Should have returned 'spam'.
The super convoluted code in that function generated a regex of /(spam|email)-(?:Blacklist|Whitelist)/ which has the wrong case to match Spam-blacklist. Adding the i modifier for case insensitivity fixes it.