Alternative solution for programmatic @Parameters lookup (avoids need to put @Parameters binding annotation on internal backing implementation and also works for other pure marker types)
diff --git a/org.eclipse.sisu.inject.tests/src/org/eclipse/sisu/wire/BeanImportTest.java b/org.eclipse.sisu.inject.tests/src/org/eclipse/sisu/wire/BeanImportTest.java
index ad2b76b..7c79279 100644
--- a/org.eclipse.sisu.inject.tests/src/org/eclipse/sisu/wire/BeanImportTest.java
+++ b/org.eclipse.sisu.inject.tests/src/org/eclipse/sisu/wire/BeanImportTest.java
@@ -17,6 +17,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -31,6 +32,7 @@
 
 import org.eclipse.sisu.BeanEntry;
 import org.eclipse.sisu.Nullable;
+import org.eclipse.sisu.inject.BeanLocator;
 import org.eclipse.sisu.inject.TypeArguments;
 import org.eclipse.sisu.space.ClassSpace;
 import org.eclipse.sisu.space.URLClassSpace;
@@ -787,4 +789,27 @@
         assertSame( y, ( (PlaceholderString) grandchild.getInstance( Key.get( X.class, Names.named( "PS" ) ) ) ).fixed );
         assertSame( y, ( (PlaceholderString) grandchild.getInstance( Key.get( X.class, Names.named( "PS" ) ) ) ).fuzzy );
     }
+
+    public void testParametersLookup()
+    {
+        final BeanLocator locator = Guice.createInjector( new WireModule( new AbstractModule()
+        {
+            @Override
+            protected void configure()
+            {
+                bind( ParameterKeys.PROPERTIES ).toInstance( Collections.singletonMap( "Hello", "world!" ) );
+            }
+        } ) ).getInstance( BeanLocator.class );
+
+        @SuppressWarnings( { "rawtypes", "unchecked" } )
+        final Iterator<Map<?, ?>> itr = new EntryListAdapter( locator.locate( ParameterKeys.PROPERTIES ) ).iterator();
+
+        assertTrue( itr.hasNext() );
+
+        Map<?, ?> parameters = itr.next();
+        assertEquals( 1, parameters.size() );
+        assertEquals( "world!", parameters.get( "Hello" ) );
+
+        assertFalse( itr.hasNext() );
+    }
 }
diff --git a/org.eclipse.sisu.inject/src/org/eclipse/sisu/Parameters.java b/org.eclipse.sisu.inject/src/org/eclipse/sisu/Parameters.java
index 2c041a3..b4b6a04 100644
--- a/org.eclipse.sisu.inject/src/org/eclipse/sisu/Parameters.java
+++ b/org.eclipse.sisu.inject/src/org/eclipse/sisu/Parameters.java
@@ -67,7 +67,7 @@
  * will merge multiple &#064;{@link Parameters} bindings; for maps by providing an aggregate view over all bound maps,
  * for arrays by appending their elements into a single argument array.
  */
-@Target( value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD, ElementType.TYPE } )
+@Target( value = { ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD } )
 @Retention( RetentionPolicy.RUNTIME )
 @Qualifier
 public @interface Parameters
diff --git a/org.eclipse.sisu.inject/src/org/eclipse/sisu/inject/QualifyingStrategy.java b/org.eclipse.sisu.inject/src/org/eclipse/sisu/inject/QualifyingStrategy.java
index 75c0b17..43ab3d0 100644
--- a/org.eclipse.sisu.inject/src/org/eclipse/sisu/inject/QualifyingStrategy.java
+++ b/org.eclipse.sisu.inject/src/org/eclipse/sisu/inject/QualifyingStrategy.java
@@ -70,6 +70,20 @@
                 return qualifier;
             }
 
+            // binding only has marker type; upgrade to pseudo-instance
+            if ( markerType.equals( binding.getKey().getAnnotationType() )
+                && markerType.getDeclaredMethods().length == 0 )
+            {
+                // this stub is all we need for internal processing
+                return new Annotation()
+                {
+                    public Class<? extends Annotation> annotationType()
+                    {
+                        return markerType;
+                    }
+                };
+            }
+
             if ( binding instanceof ProviderKeyBinding<?> )
             {
                 final Key<?> providerKey = ( (ProviderKeyBinding<?>) binding ).getProviderKey();
diff --git a/org.eclipse.sisu.inject/src/org/eclipse/sisu/wire/MergedProperties.java b/org.eclipse.sisu.inject/src/org/eclipse/sisu/wire/MergedProperties.java
index f706d2c..92e687b 100644
--- a/org.eclipse.sisu.inject/src/org/eclipse/sisu/wire/MergedProperties.java
+++ b/org.eclipse.sisu.inject/src/org/eclipse/sisu/wire/MergedProperties.java
@@ -18,12 +18,9 @@
 import java.util.NoSuchElementException;
 import java.util.Set;
 
-import org.eclipse.sisu.Parameters;
-
 /**
  * Delegating {@link Map} that merges a series of {@link Map}s into one consistent view.
  */
-@Parameters
 final class MergedProperties
     extends AbstractMap<Object, Object>
 {