diff --git a/Library/.rubocop.yml b/Library/.rubocop.yml
index 83165428c6b9d6f901d41a0509fa3659ea656fd0..7b099688581355d1213b69c97979dfb25cf0ec75 100644
--- a/Library/.rubocop.yml
+++ b/Library/.rubocop.yml
@@ -197,6 +197,11 @@ Layout/RescueEnsureAlignment:
 Lint/AmbiguousBlockAssociation:
   Enabled: false
 
+# needed for lazy_object magic
+Naming/MemoizedInstanceVariableName:
+  Exclude:
+    - 'Homebrew/lazy_object.rb'
+
 # so many of these in formulae and can't be autocorrected
 # TODO: fix these as `ruby -w` complains about them.
 Lint/AmbiguousRegexpLiteral:
diff --git a/Library/Homebrew/cask/dsl.rb b/Library/Homebrew/cask/dsl.rb
index c36585290004e1393b22433ece13caa8085772a2..f0abafa93abe9e5ec6e56f9b2e59671a279edbbe 100644
--- a/Library/Homebrew/cask/dsl.rb
+++ b/Library/Homebrew/cask/dsl.rb
@@ -142,9 +142,9 @@ module Cask
     end
 
     def language_eval
-      return @language if defined?(@language)
+      return @language_eval if defined?(@language_eval)
 
-      return @language = nil if @language_blocks.nil? || @language_blocks.empty?
+      return @language_eval = nil if @language_blocks.nil? || @language_blocks.empty?
 
       raise CaskInvalidError.new(cask, "No default language specified.") if @language_blocks.default.nil?
 
@@ -161,10 +161,10 @@ module Cask
 
         next if key.nil?
 
-        return @language = @language_blocks[key].call
+        return @language_eval = @language_blocks[key].call
       end
 
-      @language = @language_blocks.default.call
+      @language_eval = @language_blocks.default.call
     end
 
     def languages
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index 79538bc168380ea16258c327510cc7311d3e3d11..550744b2cc04f77765136ebe5155a0ea1b6600c1 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -509,6 +509,12 @@ end
 # @api public
 class CurlApacheMirrorDownloadStrategy < CurlDownloadStrategy
   def mirrors
+    combined_mirrors
+  end
+
+  private
+
+  def combined_mirrors
     return @combined_mirrors if defined?(@combined_mirrors)
 
     backup_mirrors = apache_mirrors.fetch("backup", [])
@@ -517,8 +523,6 @@ class CurlApacheMirrorDownloadStrategy < CurlDownloadStrategy
     @combined_mirrors = [*@mirrors, *backup_mirrors]
   end
 
-  private
-
   def resolve_url_basename_time(url)
     if url == self.url
       super("#{apache_mirrors["preferred"]}#{apache_mirrors["path_info"]}")