diff --git a/lib/patterns/any.rb b/lib/patterns/any.rb
index <HASH>..<HASH> 100644
--- a/lib/patterns/any.rb
+++ b/lib/patterns/any.rb
@@ -9,6 +9,10 @@ module Atomy::Patterns
       b.kind_of?(Any)
     end
 
+    def match(g, set = false, locals = {})
+      g.pop
+    end
+
     def target(g)
       g.push_const :Object
     end
diff --git a/lib/patterns/named.rb b/lib/patterns/named.rb
index <HASH>..<HASH> 100644
--- a/lib/patterns/named.rb
+++ b/lib/patterns/named.rb
@@ -20,6 +20,14 @@ module Atomy::Patterns
       @pattern == b.pattern
     end
 
+    def match(g, set = false, locals = {})
+      if @pattern.is_a?(Any)
+        deconstruct(g, locals)
+      else
+        super
+      end
+    end
+
     def target(g)
       @pattern.target(g)
     end
simplify Named#match and Any#match for pattern-matches