Throwing changes behaviour of the code, other code may rely on this behaviour, so we either throw in all environments or console.error instead. BREAKING CHANGE: 🧨 error is logged instead of thrown in development environment