Ruby is exploring some neat optimisations, with graceful fallback in the event of functions changing: https://github.com/ruby/ruby/pull/1419