refactor: accepts generic types context in provide_condition.rb