Silence warnings

This adds a feature that let's you "silence warnings". This simply allows you to have some blocks behave differently if they cause a warning that isn't exceptional in a specific context.

please review @byroot @qq99