Lightning talk at wroclove.rb 2018 surveying Ruby refinements. History: introduced in Ruby 2.0 as experimental (limiting adoption), no longer experimental since 2.1 but still distrusted due to early bugs. Based on an interview with Akira Matsuda two years prior: refinements were authored by Shugo Maeda; originally more powerful but features were cut due to JRuby implementation complexity; Koichi Sasada (incremental/generational GC work) is the one core member who wants to remove them, so their future remains uncertain. Use cases where refinements fit well: dependency reduction (speaker's refinement emulating ActiveSupport core extensions to drop the dependency), coordinated modernization (polyfill Ruby 2.5's Hash#fetch without bumping the gem's required Ruby version, delete the refinement later), 'perfect privacy' (make `private` actually unreachable via `send`), scoping DSLs so a gem's syntax sugar (e.g. a lambda-to-Proc converter) only pollutes the one file that opts in, and inspecting ActiveRecord-style models included via `using`. Notes Sequel has a refinement mode instead of monkey patching, and that a Rails-5-era patch by Akira Matsuda using refinements was rolled back. Flags ongoing API quirks (a refinement activates under `send` but not `public_send`), JRuby implementation differences, and points to TruffleRuby's support for refinements as a sign they will stay in the language. Closes with a plug for the speaker's 'gemcheck' project — a checklist plus curated tool list (documentation, linting) for gem authors to write better software for other developers.