why if-let rather than if?