diff --git a/elemental/idl/css/generate-style.py b/elemental/idl/css/generate-style.py
index 3478d27..7cd28d0 100755
--- a/elemental/idl/css/generate-style.py
+++ b/elemental/idl/css/generate-style.py
@@ -53,6 +53,7 @@
 /**
   * $CLASS_JAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 $!MEMBERS
 """)
@@ -77,6 +78,7 @@
 
 import java.util.Date;
 
+@Deprecated
 public class $ID$EXTENDS $IMPLEMENTS {
   protected $ID() {}
 $!MEMBERS
@@ -114,7 +116,7 @@
       js_prop = "this." + js_prop
 
     if output_mode == 'enum':
-      wintf('\npublic interface %s {\n' % method_suffix)
+      wintf('\n@Deprecated\npublic interface %s {\n' % method_suffix)
       for p in params:
         wintf(CONST_PREFIX + PropToConstant(p) + ' = "' + p + '";\n')
       wintf('}\n\n')
diff --git a/elemental/idl/templates/java_impl.darttemplate b/elemental/idl/templates/java_impl.darttemplate
index 3b4c501..f3d9363 100644
--- a/elemental/idl/templates/java_impl.darttemplate
+++ b/elemental/idl/templates/java_impl.darttemplate
@@ -6,5 +6,6 @@
 /**
   * $CLASS_JAVADOC
   */
+@Deprecated
 public class $CLASSNAME$EXTENDS$IMPLEMENTS {
 $!MEMBERS}
diff --git a/elemental/idl/templates/java_interface.darttemplate b/elemental/idl/templates/java_interface.darttemplate
index eb6564e..a41fe81 100644
--- a/elemental/idl/templates/java_interface.darttemplate
+++ b/elemental/idl/templates/java_interface.darttemplate
@@ -27,5 +27,6 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 $!MEMBERS}
diff --git a/elemental/idl/templates/java_interface_Document.darttemplate b/elemental/idl/templates/java_interface_Document.darttemplate
index 6fdc25e..0f8e283 100644
--- a/elemental/idl/templates/java_interface_Document.darttemplate
+++ b/elemental/idl/templates/java_interface_Document.darttemplate
@@ -28,11 +28,13 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 
 /**
  * Contains the set of standard values used with {@link #createEvent}.
  */
+@Deprecated
 public interface Events {
   public static final String CUSTOM = "CustomEvent";
   public static final String KEYBOARD = "KeyboardEvent";
@@ -56,6 +58,7 @@
 /**
  * Contains the set of standard values returned by {@link #readyState}.
  */
+@Deprecated
 public interface ReadyState {
 
   /**
diff --git a/elemental/idl/templates/java_interface_Event.darttemplate b/elemental/idl/templates/java_interface_Event.darttemplate
index b550de3..5433ea4 100644
--- a/elemental/idl/templates/java_interface_Event.darttemplate
+++ b/elemental/idl/templates/java_interface_Event.darttemplate
@@ -28,6 +28,7 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 public static final String CLICK = "click";
 public static final String CONTEXTMENU = "contextmenu";
diff --git a/elemental/idl/templates/java_interface_KeyboardEvent.darttemplate b/elemental/idl/templates/java_interface_KeyboardEvent.darttemplate
index 8962984..60a3812 100644
--- a/elemental/idl/templates/java_interface_KeyboardEvent.darttemplate
+++ b/elemental/idl/templates/java_interface_KeyboardEvent.darttemplate
@@ -28,10 +28,12 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
 /**
  * Defines the standard key locations returned by {@link #getKeyLocation}.
  */
+@Deprecated
 public interface KeyLocation {
 
   /**
@@ -75,6 +77,7 @@
  *
  * @see "http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/events/keycodes.js"
  */
+@Deprecated
 public interface KeyCode {
   public static final int BACKSPACE = 8;
   public static final int TAB = 9;
@@ -185,6 +188,7 @@
  * by {@link #getKeyboardIdentifier} when the key does not have a direct
  * unicode mapping.
  */
+@Deprecated
 public interface KeyName {
 
   /** The Accept (Commit, OK) key */
diff --git a/elemental/idl/templates/java_interface_MouseEvent.darttemplate b/elemental/idl/templates/java_interface_MouseEvent.darttemplate
index cdbc7f9..3d9ff37 100644
--- a/elemental/idl/templates/java_interface_MouseEvent.darttemplate
+++ b/elemental/idl/templates/java_interface_MouseEvent.darttemplate
@@ -28,10 +28,12 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
   /**
    * Contains the set of standard values returned by {@link #button}.
    */
+  @Deprecated
   public interface Button {
     public static final short PRIMARY = 0;
     public static final short AUXILIARY = 1;
diff --git a/elemental/idl/templates/java_interface_Window.darttemplate b/elemental/idl/templates/java_interface_Window.darttemplate
index e049366..f1455b2 100644
--- a/elemental/idl/templates/java_interface_Window.darttemplate
+++ b/elemental/idl/templates/java_interface_Window.darttemplate
@@ -30,6 +30,7 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $ID$EXTENDS {
   void clearOpener();
 $!MEMBERS}
diff --git a/elemental/idl/templates/javacallback.darttemplate b/elemental/idl/templates/javacallback.darttemplate
index 35ffd5f..0e6644e 100644
--- a/elemental/idl/templates/javacallback.darttemplate
+++ b/elemental/idl/templates/javacallback.darttemplate
@@ -23,6 +23,7 @@
 /**
   * $CLASSJAVADOC
   */
+@Deprecated
 public interface $NAME {
   $TYPE on$NAME($PARAMS);
 }
diff --git a/elemental/idl/templates/jso_impl.darttemplate b/elemental/idl/templates/jso_impl.darttemplate
index b25fb0d..837a5b7 100644
--- a/elemental/idl/templates/jso_impl.darttemplate
+++ b/elemental/idl/templates/jso_impl.darttemplate
@@ -33,6 +33,7 @@
 
 import java.util.Date;
 
+@Deprecated
 public class $ID$EXTENDS $IMPLEMENTS {
   protected $ID() {}
 $!MEMBERS}
diff --git a/elemental/idl/templates/jso_impl_Document.darttemplate b/elemental/idl/templates/jso_impl_Document.darttemplate
index 2e5f7ac..e41d5e0 100644
--- a/elemental/idl/templates/jso_impl_Document.darttemplate
+++ b/elemental/idl/templates/jso_impl_Document.darttemplate
@@ -35,6 +35,7 @@
 
 import java.util.Date;
 
+@Deprecated
 public class $ID$EXTENDS $IMPLEMENTS {
   protected $ID() {}
 
diff --git a/elemental/idl/templates/jso_impl_ElementalMixinBase.darttemplate b/elemental/idl/templates/jso_impl_ElementalMixinBase.darttemplate
index c894b69..5e2c124 100644
--- a/elemental/idl/templates/jso_impl_ElementalMixinBase.darttemplate
+++ b/elemental/idl/templates/jso_impl_ElementalMixinBase.darttemplate
@@ -34,6 +34,7 @@
   * may implement a given interface, we hoist all of the explicit
   * mixin classes into a base JSO used by all of elemental.
   */
+@Deprecated
 public class JsElementalMixinBase $EXTENDS $IMPLEMENTS {
   protected JsElementalMixinBase() {}
 $!MEMBERS
diff --git a/elemental/idl/templates/jso_impl_Window.darttemplate b/elemental/idl/templates/jso_impl_Window.darttemplate
index 9eb300b..9b6ae03 100644
--- a/elemental/idl/templates/jso_impl_Window.darttemplate
+++ b/elemental/idl/templates/jso_impl_Window.darttemplate
@@ -37,6 +37,7 @@
 
 import java.util.Date;
 
+@Deprecated
 public class $ID$EXTENDS $IMPLEMENTS {
   protected $ID() {}
 
diff --git a/elemental/src/elemental/client/Browser.java b/elemental/src/elemental/client/Browser.java
index 5786b70..0f86577 100644
--- a/elemental/src/elemental/client/Browser.java
+++ b/elemental/src/elemental/client/Browser.java
@@ -22,6 +22,7 @@
 /**
  * Entry-point for getting the access to browser globals.
  */
+@Deprecated
 public class Browser {
 
   /**
@@ -31,6 +32,7 @@
    * 
    * TODO(knorton): Add the gwt.xml file that enables permutations.
    */
+  @Deprecated
   public interface Info {
     
     /**
diff --git a/elemental/src/elemental/events/EventRemover.java b/elemental/src/elemental/events/EventRemover.java
index d993f59..4d61a79 100644
--- a/elemental/src/elemental/events/EventRemover.java
+++ b/elemental/src/elemental/events/EventRemover.java
@@ -16,6 +16,7 @@
 
 package elemental.events;
 
+@Deprecated
 public interface EventRemover {
   void remove();
 }
diff --git a/elemental/src/elemental/js/JsBrowser.java b/elemental/src/elemental/js/JsBrowser.java
index 553b10c..e643ebf 100755
--- a/elemental/src/elemental/js/JsBrowser.java
+++ b/elemental/src/elemental/js/JsBrowser.java
@@ -25,6 +25,7 @@
 /**
  * JavaScript native implementation of {@link elemental.client.Browser}.
  */
+@Deprecated
 public class JsBrowser {
   /**
    * A {@link Browser.Info} implementation for when the browser is known to be
@@ -74,6 +75,7 @@
    * A {@link Browser.Info} implementation for when the browser is known to be
    * WebKit at compile time.
    */
+  @Deprecated
   @SuppressWarnings("unused")
   private static class InfoWhenKnownWebKit extends InfoWhenUnknown {
     @Override
diff --git a/elemental/src/elemental/js/json/JsJsonArray.java b/elemental/src/elemental/js/json/JsJsonArray.java
index faf66c0..e12dce0 100644
--- a/elemental/src/elemental/js/json/JsJsonArray.java
+++ b/elemental/src/elemental/js/json/JsJsonArray.java
@@ -28,6 +28,7 @@
 /**
  * Client-side implementation of JsonArray.
  */
+@Deprecated
 final public class JsJsonArray extends JsJsonValue
     implements JsonArray {
 
diff --git a/elemental/src/elemental/js/json/JsJsonBoolean.java b/elemental/src/elemental/js/json/JsJsonBoolean.java
index 66192d1..0c83c41 100644
--- a/elemental/src/elemental/js/json/JsJsonBoolean.java
+++ b/elemental/src/elemental/js/json/JsJsonBoolean.java
@@ -21,6 +21,7 @@
  * Client-side 'low overhead' JSO implementation using extension method
  * technique.
  */
+@Deprecated
 final public class JsJsonBoolean extends JsJsonValue
     implements JsonBoolean {
 
diff --git a/elemental/src/elemental/js/json/JsJsonFactory.java b/elemental/src/elemental/js/json/JsJsonFactory.java
index 6ff1688..a9801ad 100644
--- a/elemental/src/elemental/js/json/JsJsonFactory.java
+++ b/elemental/src/elemental/js/json/JsJsonFactory.java
@@ -26,6 +26,7 @@
 /**
  * JSNI based implementation of JsonFactory.
  */
+@Deprecated
 public class JsJsonFactory implements JsonFactory {
 
   private static native <T extends JsonValue> T parse0(String jsonString) /*-{
diff --git a/elemental/src/elemental/js/json/JsJsonNull.java b/elemental/src/elemental/js/json/JsJsonNull.java
index 33d999e..deff463 100644
--- a/elemental/src/elemental/js/json/JsJsonNull.java
+++ b/elemental/src/elemental/js/json/JsJsonNull.java
@@ -21,6 +21,7 @@
  * Client-side implementation of JsonNull as "extension methods" on an actual
  * null.
  */
+@Deprecated
 final public class JsJsonNull extends JsJsonValue
     implements JsonNull {
 
diff --git a/elemental/src/elemental/js/json/JsJsonNumber.java b/elemental/src/elemental/js/json/JsJsonNumber.java
index b9a444c..c9115b2 100644
--- a/elemental/src/elemental/js/json/JsJsonNumber.java
+++ b/elemental/src/elemental/js/json/JsJsonNumber.java
@@ -21,6 +21,7 @@
  * Client-side 'low overhead' JSO implementation using extension method
  * technique.
  */
+@Deprecated
 final public class JsJsonNumber extends JsJsonValue
     implements JsonNumber {
 
diff --git a/elemental/src/elemental/js/json/JsJsonObject.java b/elemental/src/elemental/js/json/JsJsonObject.java
index 67af50f..823fa3c 100644
--- a/elemental/src/elemental/js/json/JsJsonObject.java
+++ b/elemental/src/elemental/js/json/JsJsonObject.java
@@ -28,6 +28,7 @@
 /**
  * Client-side implementation of JsonObject interface.
  */
+@Deprecated
 final public class JsJsonObject extends JsJsonValue
     implements JsonObject {
 
diff --git a/elemental/src/elemental/js/json/JsJsonString.java b/elemental/src/elemental/js/json/JsJsonString.java
index 15923e0..d6b4c1f 100644
--- a/elemental/src/elemental/js/json/JsJsonString.java
+++ b/elemental/src/elemental/js/json/JsJsonString.java
@@ -21,6 +21,7 @@
  * Client-side 'zero overhead' JSO implementation using extension method
  * technique.
  */
+@Deprecated
 final public class JsJsonString extends JsJsonValue
     implements JsonString {
   
diff --git a/elemental/src/elemental/js/json/JsJsonValue.java b/elemental/src/elemental/js/json/JsJsonValue.java
index 5698016..5a8b696 100644
--- a/elemental/src/elemental/js/json/JsJsonValue.java
+++ b/elemental/src/elemental/js/json/JsJsonValue.java
@@ -23,6 +23,7 @@
 /**
  * JSO backed implementation of JsonValue.
  */
+@Deprecated
 public class JsJsonValue extends JavaScriptObject implements JsonValue {
 
   static native JsonValue box(JsonValue value) /*-{
diff --git a/elemental/src/elemental/js/util/JsArrayOf.java b/elemental/src/elemental/js/util/JsArrayOf.java
index 74d9e39..8b2100c 100644
--- a/elemental/src/elemental/js/util/JsArrayOf.java
+++ b/elemental/src/elemental/js/util/JsArrayOf.java
@@ -23,6 +23,7 @@
 /**
  * JavaScript native implementation of {@link ArrayOf}.
  */
+@Deprecated
 public final class JsArrayOf<T> extends JavaScriptObject implements ArrayOf<T> {
   
   /**
diff --git a/elemental/src/elemental/js/util/JsArrayOfBoolean.java b/elemental/src/elemental/js/util/JsArrayOfBoolean.java
index 1b3495d..08fe572 100644
--- a/elemental/src/elemental/js/util/JsArrayOfBoolean.java
+++ b/elemental/src/elemental/js/util/JsArrayOfBoolean.java
@@ -23,6 +23,7 @@
 /**
  * JavaScript native implementation of {@link ArrayOfBoolean}.
  */
+@Deprecated
 public final class JsArrayOfBoolean extends JsArrayBoolean implements ArrayOfBoolean {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsArrayOfInt.java b/elemental/src/elemental/js/util/JsArrayOfInt.java
index b95e64e..c294dc5 100644
--- a/elemental/src/elemental/js/util/JsArrayOfInt.java
+++ b/elemental/src/elemental/js/util/JsArrayOfInt.java
@@ -24,6 +24,7 @@
 /**
  * JavaScript implementation of {@link ArrayOfInt}.
  */
+@Deprecated
 public final class JsArrayOfInt extends JsArrayInteger implements ArrayOfInt {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsArrayOfNumber.java b/elemental/src/elemental/js/util/JsArrayOfNumber.java
index b902c8a..54d30c2 100644
--- a/elemental/src/elemental/js/util/JsArrayOfNumber.java
+++ b/elemental/src/elemental/js/util/JsArrayOfNumber.java
@@ -24,6 +24,7 @@
 /**
  * JavaScript native implementation of {@link ArrayOfNumber}.
  */
+@Deprecated
 public final class JsArrayOfNumber extends JsArrayNumber implements ArrayOfNumber {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsArrayOfString.java b/elemental/src/elemental/js/util/JsArrayOfString.java
index 3b50028..9ce884a 100644
--- a/elemental/src/elemental/js/util/JsArrayOfString.java
+++ b/elemental/src/elemental/js/util/JsArrayOfString.java
@@ -24,6 +24,7 @@
 /**
  * JavaScript native implementation of {@link ArrayOfString}.
  */
+@Deprecated
 public final class JsArrayOfString extends JsArrayString implements ArrayOfString {
   
   /**
diff --git a/elemental/src/elemental/js/util/JsElementalBase.java b/elemental/src/elemental/js/util/JsElementalBase.java
index 56fac9e..2aad045 100644
--- a/elemental/src/elemental/js/util/JsElementalBase.java
+++ b/elemental/src/elemental/js/util/JsElementalBase.java
@@ -23,6 +23,7 @@
  * Indexable, Settable, Mappable.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public class JsElementalBase extends JavaScriptObject implements Mappable, 
     Indexable, IndexableInt, IndexableNumber, Settable, SettableInt, SettableNumber {
 
diff --git a/elemental/src/elemental/js/util/JsGlobals.java b/elemental/src/elemental/js/util/JsGlobals.java
index 16df9b4..b47caa1 100644
--- a/elemental/src/elemental/js/util/JsGlobals.java
+++ b/elemental/src/elemental/js/util/JsGlobals.java
@@ -21,6 +21,7 @@
  * A utility class for accessing global functions and values in an ECMAScript
  * context.
  */
+@Deprecated
 public class JsGlobals {
   /**
    * Decodes an encoded URI to a URI string.
diff --git a/elemental/src/elemental/js/util/JsIndexable.java b/elemental/src/elemental/js/util/JsIndexable.java
index e062f9e..159b5b4 100644
--- a/elemental/src/elemental/js/util/JsIndexable.java
+++ b/elemental/src/elemental/js/util/JsIndexable.java
@@ -21,6 +21,7 @@
 /**
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public class JsIndexable extends JsElementalBase implements Indexable {
   protected JsIndexable() {}
 }
diff --git a/elemental/src/elemental/js/util/JsMapFromIntTo.java b/elemental/src/elemental/js/util/JsMapFromIntTo.java
index d3ab0da..06f3859 100644
--- a/elemental/src/elemental/js/util/JsMapFromIntTo.java
+++ b/elemental/src/elemental/js/util/JsMapFromIntTo.java
@@ -22,6 +22,7 @@
 /**
  * JavaScript native implementation of {@link MapFromIntTo}.
  */
+@Deprecated
 public final class JsMapFromIntTo<V> extends JavaScriptObject implements MapFromIntTo<V> {
   
   /**
diff --git a/elemental/src/elemental/js/util/JsMapFromIntToString.java b/elemental/src/elemental/js/util/JsMapFromIntToString.java
index 7eeae7e..fe5442d 100644
--- a/elemental/src/elemental/js/util/JsMapFromIntToString.java
+++ b/elemental/src/elemental/js/util/JsMapFromIntToString.java
@@ -22,6 +22,7 @@
 /**
  * JavaScript native implementation of {@link MapFromIntToString}.
  */
+@Deprecated
 public final class JsMapFromIntToString extends JavaScriptObject implements MapFromIntToString {
   /**
    * Create a new empty map instance.
diff --git a/elemental/src/elemental/js/util/JsMapFromStringTo.java b/elemental/src/elemental/js/util/JsMapFromStringTo.java
index 1d2d357..0fd98e3 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringTo.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringTo.java
@@ -22,6 +22,7 @@
 /**
  * JavaScript native implementation of {@link MapFromStringTo}.
  */
+@Deprecated
 public final class JsMapFromStringTo<V> extends JavaScriptObject implements MapFromStringTo<V> {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsMapFromStringToBoolean.java b/elemental/src/elemental/js/util/JsMapFromStringToBoolean.java
index 03d88f2..7d7fa6e 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringToBoolean.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringToBoolean.java
@@ -22,6 +22,7 @@
 /**
  * A JavaScript native implementation of {@link MapFromStringToBoolean}.
  */
+@Deprecated
 public final class JsMapFromStringToBoolean extends JavaScriptObject
     implements MapFromStringToBoolean {
 
diff --git a/elemental/src/elemental/js/util/JsMapFromStringToInt.java b/elemental/src/elemental/js/util/JsMapFromStringToInt.java
index 7b56d79..d185a4e 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringToInt.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringToInt.java
@@ -22,6 +22,7 @@
 /**
  * JavaScript native implementation of {@link MapFromStringToInt}.
  */
+@Deprecated
 public final class JsMapFromStringToInt extends JavaScriptObject implements MapFromStringToInt {
 
   /**
diff --git a/elemental/src/elemental/js/util/JsMapFromStringToNumber.java b/elemental/src/elemental/js/util/JsMapFromStringToNumber.java
index 3646dfa..0e6ce5e 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringToNumber.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringToNumber.java
@@ -22,6 +22,7 @@
 /**
  * A JavaScript native implementation of {@link MapFromStringToNumber}.
  */
+@Deprecated
 public final class JsMapFromStringToNumber extends JavaScriptObject
     implements MapFromStringToNumber {
 
diff --git a/elemental/src/elemental/js/util/JsMapFromStringToString.java b/elemental/src/elemental/js/util/JsMapFromStringToString.java
index 24a69c4..9a8cb05 100644
--- a/elemental/src/elemental/js/util/JsMapFromStringToString.java
+++ b/elemental/src/elemental/js/util/JsMapFromStringToString.java
@@ -22,6 +22,7 @@
 /**
  * A JavaScript native implementation of {@link MapFromStringToString}.
  */
+@Deprecated
 public final class JsMapFromStringToString extends JavaScriptObject
     implements MapFromStringToString {
 
diff --git a/elemental/src/elemental/js/util/JsMappable.java b/elemental/src/elemental/js/util/JsMappable.java
index e5961fa..ba4567a 100644
--- a/elemental/src/elemental/js/util/JsMappable.java
+++ b/elemental/src/elemental/js/util/JsMappable.java
@@ -21,6 +21,7 @@
 /**
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public class JsMappable extends JsElementalBase implements Mappable {
   protected JsMappable() {}
 }
diff --git a/elemental/src/elemental/js/util/Json.java b/elemental/src/elemental/js/util/Json.java
index d676b45..9910a21 100644
--- a/elemental/src/elemental/js/util/Json.java
+++ b/elemental/src/elemental/js/util/Json.java
@@ -21,6 +21,7 @@
  * A static API to the browser's JSON object.
  * TODO(knorton) : Remove this when generated DOM bindings are submitted. 
  */
+@Deprecated
 public class Json {
   /**
    * Parse a string containing JSON into a {@link JavaScriptObject}.
diff --git a/elemental/src/elemental/js/util/Numbers.java b/elemental/src/elemental/js/util/Numbers.java
index 61348db..ab22fdb 100644
--- a/elemental/src/elemental/js/util/Numbers.java
+++ b/elemental/src/elemental/js/util/Numbers.java
@@ -18,6 +18,7 @@
 /**
  * Utility class for miscellaneous numeric stuff.
  */
+@Deprecated
 public class Numbers {
   /**
    * Converts a <code>double</code> to a {@link String} with a specified number
diff --git a/elemental/src/elemental/js/util/StringUtil.java b/elemental/src/elemental/js/util/StringUtil.java
index 064716c..0c0697c 100644
--- a/elemental/src/elemental/js/util/StringUtil.java
+++ b/elemental/src/elemental/js/util/StringUtil.java
@@ -22,6 +22,7 @@
  * supported directly in {@link String} in order to use the proper elemental
  * types.
  */
+@Deprecated
 public class StringUtil {
   
   /**
diff --git a/elemental/src/elemental/js/util/Xhr.java b/elemental/src/elemental/js/util/Xhr.java
index 525b383..050cc61 100644
--- a/elemental/src/elemental/js/util/Xhr.java
+++ b/elemental/src/elemental/js/util/Xhr.java
@@ -26,11 +26,13 @@
 /**
  * A Simpler way to use {@link XMLHttpRequest}.
  */
+@Deprecated
 public class Xhr {
   /**
    * Interface for getting notified when an XHR successfully completes, or
    * errors out.
    */
+  @Deprecated
   public interface Callback {
     void onFail(XMLHttpRequest xhr);
 
diff --git a/elemental/src/elemental/json/Json.java b/elemental/src/elemental/json/Json.java
index 3c4902c..6b57d60 100644
--- a/elemental/src/elemental/json/Json.java
+++ b/elemental/src/elemental/json/Json.java
@@ -20,6 +20,7 @@
 /**
  * Vends out implementation of JsonFactory.
  */
+@Deprecated
 public class Json {
 
   public static JsonString create(String string) {
diff --git a/elemental/src/elemental/json/JsonArray.java b/elemental/src/elemental/json/JsonArray.java
index 17b324d..0464ff2 100644
--- a/elemental/src/elemental/json/JsonArray.java
+++ b/elemental/src/elemental/json/JsonArray.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json array.
  */
+@Deprecated
 public interface JsonArray extends JsonValue {
 
   /**
diff --git a/elemental/src/elemental/json/JsonBoolean.java b/elemental/src/elemental/json/JsonBoolean.java
index 35d9e07..fe8ccc6 100644
--- a/elemental/src/elemental/json/JsonBoolean.java
+++ b/elemental/src/elemental/json/JsonBoolean.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json boolean.
  */
+@Deprecated
 public interface JsonBoolean extends JsonValue {
   boolean getBoolean();
 }
diff --git a/elemental/src/elemental/json/JsonException.java b/elemental/src/elemental/json/JsonException.java
index ef6d97b..d4008f2 100644
--- a/elemental/src/elemental/json/JsonException.java
+++ b/elemental/src/elemental/json/JsonException.java
@@ -18,6 +18,7 @@
 /**
  * A exception representing an error in parsing or serializing Json.
  */
+@Deprecated
 public class JsonException extends RuntimeException {
 
   public JsonException(String s) {
diff --git a/elemental/src/elemental/json/JsonFactory.java b/elemental/src/elemental/json/JsonFactory.java
index 8e09e7c..97a387d 100644
--- a/elemental/src/elemental/json/JsonFactory.java
+++ b/elemental/src/elemental/json/JsonFactory.java
@@ -18,6 +18,7 @@
 /**
  * Factory interface for parsing and creating JSON objects.
  */
+@Deprecated
 public interface JsonFactory {
 
   /**
diff --git a/elemental/src/elemental/json/JsonNull.java b/elemental/src/elemental/json/JsonNull.java
index cdd87c5..95fa8e3 100644
--- a/elemental/src/elemental/json/JsonNull.java
+++ b/elemental/src/elemental/json/JsonNull.java
@@ -18,5 +18,6 @@
 /**
  * Represents the Json null value.
  */
+@Deprecated
 public interface JsonNull extends JsonValue {
 }
diff --git a/elemental/src/elemental/json/JsonNumber.java b/elemental/src/elemental/json/JsonNumber.java
index 13f9856..8614e4a 100644
--- a/elemental/src/elemental/json/JsonNumber.java
+++ b/elemental/src/elemental/json/JsonNumber.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json number value.
  */
+@Deprecated
 public interface JsonNumber extends JsonValue {
   double getNumber();
 }
diff --git a/elemental/src/elemental/json/JsonObject.java b/elemental/src/elemental/json/JsonObject.java
index c8be0b1..e0a1c69 100644
--- a/elemental/src/elemental/json/JsonObject.java
+++ b/elemental/src/elemental/json/JsonObject.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json object.
  */
+@Deprecated
 public interface JsonObject extends JsonValue {
 
   /**
diff --git a/elemental/src/elemental/json/JsonString.java b/elemental/src/elemental/json/JsonString.java
index 2941fe2..de35df7 100644
--- a/elemental/src/elemental/json/JsonString.java
+++ b/elemental/src/elemental/json/JsonString.java
@@ -18,6 +18,7 @@
 /**
  * Represents a Json String value.
  */
+@Deprecated
 public interface JsonString extends JsonValue {
   String getString();
 }
diff --git a/elemental/src/elemental/json/JsonType.java b/elemental/src/elemental/json/JsonType.java
index 6af0560..8bf8e1d 100644
--- a/elemental/src/elemental/json/JsonType.java
+++ b/elemental/src/elemental/json/JsonType.java
@@ -18,6 +18,7 @@
 /**
  * Represents the type of the underlying JsonValue.
  */
+@Deprecated
 public enum JsonType {
   OBJECT, ARRAY, STRING, NUMBER, BOOLEAN, NULL;
 }
diff --git a/elemental/src/elemental/json/JsonValue.java b/elemental/src/elemental/json/JsonValue.java
index c0de7ab..d9319c4 100644
--- a/elemental/src/elemental/json/JsonValue.java
+++ b/elemental/src/elemental/json/JsonValue.java
@@ -20,6 +20,7 @@
 /**
  * Base interface for all Json values.
  */
+@Deprecated
 public interface JsonValue extends Serializable {
 
   /**
diff --git a/elemental/src/elemental/json/impl/JreJsonArray.java b/elemental/src/elemental/json/impl/JreJsonArray.java
index 581c7cc..e8ec6d7 100644
--- a/elemental/src/elemental/json/impl/JreJsonArray.java
+++ b/elemental/src/elemental/json/impl/JreJsonArray.java
@@ -34,6 +34,7 @@
 /**
  * Server-side implementation of JsonArray.
  */
+@Deprecated
 public class JreJsonArray extends JreJsonValue implements JsonArray {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonBoolean.java b/elemental/src/elemental/json/impl/JreJsonBoolean.java
index 9a03159..df47f31 100644
--- a/elemental/src/elemental/json/impl/JreJsonBoolean.java
+++ b/elemental/src/elemental/json/impl/JreJsonBoolean.java
@@ -26,6 +26,7 @@
 /**
  * Server-side implementation of JsonBoolean.
  */
+@Deprecated
 public class JreJsonBoolean extends JreJsonValue implements JsonBoolean {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonFactory.java b/elemental/src/elemental/json/impl/JreJsonFactory.java
index edc8706..7f5a9f3 100644
--- a/elemental/src/elemental/json/impl/JreJsonFactory.java
+++ b/elemental/src/elemental/json/impl/JreJsonFactory.java
@@ -29,6 +29,7 @@
 /**
  * Implementation of JsonFactory interface using org.json library.
  */
+@Deprecated
 public class JreJsonFactory implements JsonFactory {
 
   public JsonString create(String string) {
diff --git a/elemental/src/elemental/json/impl/JreJsonNull.java b/elemental/src/elemental/json/impl/JreJsonNull.java
index 7852370..d8d1bbb 100644
--- a/elemental/src/elemental/json/impl/JreJsonNull.java
+++ b/elemental/src/elemental/json/impl/JreJsonNull.java
@@ -24,6 +24,7 @@
 /**
  * Server-side implementation of JsonObject.
  */
+@Deprecated
 public class JreJsonNull extends JreJsonValue implements JsonNull {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonNumber.java b/elemental/src/elemental/json/impl/JreJsonNumber.java
index 9739dc1..d42b6dd 100644
--- a/elemental/src/elemental/json/impl/JreJsonNumber.java
+++ b/elemental/src/elemental/json/impl/JreJsonNumber.java
@@ -26,6 +26,7 @@
 /**
  * Server-side implementation of JsonNumber.
  */
+@Deprecated
 public class JreJsonNumber extends JreJsonValue implements JsonNumber {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonObject.java b/elemental/src/elemental/json/impl/JreJsonObject.java
index cbc1faa..6884ba0 100644
--- a/elemental/src/elemental/json/impl/JreJsonObject.java
+++ b/elemental/src/elemental/json/impl/JreJsonObject.java
@@ -38,6 +38,7 @@
 /**
  * Server-side implementation of JsonObject.
  */
+@Deprecated
 public class JreJsonObject extends JreJsonValue implements JsonObject {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonString.java b/elemental/src/elemental/json/impl/JreJsonString.java
index 857d6ee..8dbde87 100644
--- a/elemental/src/elemental/json/impl/JreJsonString.java
+++ b/elemental/src/elemental/json/impl/JreJsonString.java
@@ -26,6 +26,7 @@
 /**
  * Server-side implementation of JsonString.
  */
+@Deprecated
 public class JreJsonString extends JreJsonValue implements JsonString {
 
   private static final long serialVersionUID = 1L;
diff --git a/elemental/src/elemental/json/impl/JreJsonValue.java b/elemental/src/elemental/json/impl/JreJsonValue.java
index 94eccca..0e84bc5 100644
--- a/elemental/src/elemental/json/impl/JreJsonValue.java
+++ b/elemental/src/elemental/json/impl/JreJsonValue.java
@@ -24,6 +24,7 @@
 /**
  * JRE (non-Client) implementation of JreJsonValue.
  */
+@Deprecated
 public abstract class JreJsonValue implements JsonValue {
   public abstract Object getObject();
   public abstract void traverse(JsonVisitor visitor, JsonContext ctx);
diff --git a/elemental/src/elemental/json/impl/JsonArrayContext.java b/elemental/src/elemental/json/impl/JsonArrayContext.java
index f312f17..3c2613c 100644
--- a/elemental/src/elemental/json/impl/JsonArrayContext.java
+++ b/elemental/src/elemental/json/impl/JsonArrayContext.java
@@ -20,6 +20,7 @@
 /**
  * A {@link JsonContext} with integer based location context.
  */
+@Deprecated
 class JsonArrayContext extends JsonContext {
 
   int currentIndex = 0;
diff --git a/elemental/src/elemental/json/impl/JsonContext.java b/elemental/src/elemental/json/impl/JsonContext.java
index 37ad7b0..5e3ebe1 100644
--- a/elemental/src/elemental/json/impl/JsonContext.java
+++ b/elemental/src/elemental/json/impl/JsonContext.java
@@ -21,6 +21,7 @@
  * Represents the current location where a value is stored, and allows
  * the value's replacement or deletion.
  */
+@Deprecated
 abstract class JsonContext {
 
   private JsonValue value;
diff --git a/elemental/src/elemental/json/impl/JsonObjectContext.java b/elemental/src/elemental/json/impl/JsonObjectContext.java
index db7840f..912feb2 100644
--- a/elemental/src/elemental/json/impl/JsonObjectContext.java
+++ b/elemental/src/elemental/json/impl/JsonObjectContext.java
@@ -20,6 +20,7 @@
 /**
  * A {@link JsonContext} with String based location index.
  */
+@Deprecated
 class JsonObjectContext extends JsonContext {
 
   String currentKey;
diff --git a/elemental/src/elemental/json/impl/JsonTokenizer.java b/elemental/src/elemental/json/impl/JsonTokenizer.java
index b6cfbd5..2c37b61 100644
--- a/elemental/src/elemental/json/impl/JsonTokenizer.java
+++ b/elemental/src/elemental/json/impl/JsonTokenizer.java
@@ -26,6 +26,7 @@
  * Implementation of parsing a JSON string into instances of {@link
  * com.google.gwt.dev.json.JsonValue}.
  */
+@Deprecated
 class JsonTokenizer {
 
   private static final int INVALID_CHAR = -1;
diff --git a/elemental/src/elemental/json/impl/JsonUtil.java b/elemental/src/elemental/json/impl/JsonUtil.java
index b8c0613..b4b4e08 100644
--- a/elemental/src/elemental/json/impl/JsonUtil.java
+++ b/elemental/src/elemental/json/impl/JsonUtil.java
@@ -29,6 +29,7 @@
 /**
  * Direct port of json2.js at http://www.json.org/json2.js to GWT.
  */
+@Deprecated
 public class JsonUtil {
 
   private static class StringifyJsonVisitor extends JsonVisitor {
diff --git a/elemental/src/elemental/json/impl/JsonVisitor.java b/elemental/src/elemental/json/impl/JsonVisitor.java
index 517b947..70c2df5 100644
--- a/elemental/src/elemental/json/impl/JsonVisitor.java
+++ b/elemental/src/elemental/json/impl/JsonVisitor.java
@@ -30,6 +30,7 @@
  * returns a boolean that determines whether or not to process its contained
  * values.
  */
+@Deprecated
 class JsonVisitor {
 
   private class ImmutableJsonContext extends JsonContext {
diff --git a/elemental/src/elemental/util/ArrayOf.java b/elemental/src/elemental/util/ArrayOf.java
index b5a4e43..ed37f1f 100644
--- a/elemental/src/elemental/util/ArrayOf.java
+++ b/elemental/src/elemental/util/ArrayOf.java
@@ -22,6 +22,7 @@
  *
  * @see elemental.js.util.JsArrayOf
  */
+@Deprecated
 public interface ArrayOf<T> {
 
   /**
diff --git a/elemental/src/elemental/util/ArrayOfBoolean.java b/elemental/src/elemental/util/ArrayOfBoolean.java
index 1dd5c81..3064432 100644
--- a/elemental/src/elemental/util/ArrayOfBoolean.java
+++ b/elemental/src/elemental/util/ArrayOfBoolean.java
@@ -20,6 +20,7 @@
  *
  * @see elemental.js.util.JsArrayOfBoolean
  */
+@Deprecated
 public interface ArrayOfBoolean {
   /**
    * Returns a new array that is the concatenation of this array and <code>
diff --git a/elemental/src/elemental/util/ArrayOfInt.java b/elemental/src/elemental/util/ArrayOfInt.java
index cb4dbbf..e9cd5a8 100644
--- a/elemental/src/elemental/util/ArrayOfInt.java
+++ b/elemental/src/elemental/util/ArrayOfInt.java
@@ -20,6 +20,7 @@
  *
  * @see elemental.js.util.JsArrayOfInt
  */
+@Deprecated
 public interface ArrayOfInt {
 
   /**
diff --git a/elemental/src/elemental/util/ArrayOfNumber.java b/elemental/src/elemental/util/ArrayOfNumber.java
index fc25a54..8af4b07 100644
--- a/elemental/src/elemental/util/ArrayOfNumber.java
+++ b/elemental/src/elemental/util/ArrayOfNumber.java
@@ -20,6 +20,7 @@
  *
  * @see elemental.js.util.JsArrayOfNumber
  */
+@Deprecated
 public interface ArrayOfNumber {
   /**
    * Returns a new array that is the concatenation of this array and <code>
diff --git a/elemental/src/elemental/util/ArrayOfString.java b/elemental/src/elemental/util/ArrayOfString.java
index a976b0b..14442ae 100644
--- a/elemental/src/elemental/util/ArrayOfString.java
+++ b/elemental/src/elemental/util/ArrayOfString.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsArrayOfString
  */
+@Deprecated
 public interface ArrayOfString {
   /**
    * Returns a new array that is the concatenation of this array and <code>
diff --git a/elemental/src/elemental/util/CanCompare.java b/elemental/src/elemental/util/CanCompare.java
index 4e18ec7..94c0960 100644
--- a/elemental/src/elemental/util/CanCompare.java
+++ b/elemental/src/elemental/util/CanCompare.java
@@ -24,6 +24,7 @@
  *
  * @param <T>
  */
+@Deprecated
 public interface CanCompare<T> {
 
   /**
diff --git a/elemental/src/elemental/util/CanCompareInt.java b/elemental/src/elemental/util/CanCompareInt.java
index bc1a20b..495713e 100644
--- a/elemental/src/elemental/util/CanCompareInt.java
+++ b/elemental/src/elemental/util/CanCompareInt.java
@@ -22,6 +22,7 @@
  *
  * @see ArrayOfInt#sort(CanCompareInt)
  */
+@Deprecated
 public interface CanCompareInt {
 
   /**
diff --git a/elemental/src/elemental/util/CanCompareNumber.java b/elemental/src/elemental/util/CanCompareNumber.java
index 81c7749..121e864 100644
--- a/elemental/src/elemental/util/CanCompareNumber.java
+++ b/elemental/src/elemental/util/CanCompareNumber.java
@@ -22,6 +22,7 @@
  *
  * @see ArrayOfNumber#sort(CanCompareNumber)
  */
+@Deprecated
 public interface CanCompareNumber {
 
   /**
diff --git a/elemental/src/elemental/util/CanCompareString.java b/elemental/src/elemental/util/CanCompareString.java
index 5c4f996..0ab4e1b 100644
--- a/elemental/src/elemental/util/CanCompareString.java
+++ b/elemental/src/elemental/util/CanCompareString.java
@@ -22,6 +22,7 @@
  *
  * @see ArrayOfString#sort(CanCompareString)
  */
+@Deprecated
 public interface CanCompareString {
   
   /**
diff --git a/elemental/src/elemental/util/Collections.java b/elemental/src/elemental/util/Collections.java
index 738a42d..23a5d3e 100644
--- a/elemental/src/elemental/util/Collections.java
+++ b/elemental/src/elemental/util/Collections.java
@@ -33,6 +33,7 @@
 /**
  * Factory and utility methods for elemental collections.
  */
+@Deprecated
 public class Collections {
 
   /**
diff --git a/elemental/src/elemental/util/Indexable.java b/elemental/src/elemental/util/Indexable.java
index b559677..99ec3e7 100644
--- a/elemental/src/elemental/util/Indexable.java
+++ b/elemental/src/elemental/util/Indexable.java
@@ -19,6 +19,7 @@
  * Models any object which can act like a Javascript array, having length and a getter.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface Indexable /* <T> */ {
 
   /**
diff --git a/elemental/src/elemental/util/IndexableInt.java b/elemental/src/elemental/util/IndexableInt.java
index ecb373d..d856362 100644
--- a/elemental/src/elemental/util/IndexableInt.java
+++ b/elemental/src/elemental/util/IndexableInt.java
@@ -3,6 +3,7 @@
 /**
  * Models any object which acts like a Javascript array of primitive integers.
  */
+@Deprecated
 public interface IndexableInt extends IndexableNumber {
 
   /**
diff --git a/elemental/src/elemental/util/IndexableNumber.java b/elemental/src/elemental/util/IndexableNumber.java
index b419e65..d674b2d 100644
--- a/elemental/src/elemental/util/IndexableNumber.java
+++ b/elemental/src/elemental/util/IndexableNumber.java
@@ -3,6 +3,7 @@
 /**
  * Models any object which acts like a Javascript array of primitive numbers..
  */
+@Deprecated
 public interface IndexableNumber {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromIntTo.java b/elemental/src/elemental/util/MapFromIntTo.java
index e1e8620..7a65cf9 100644
--- a/elemental/src/elemental/util/MapFromIntTo.java
+++ b/elemental/src/elemental/util/MapFromIntTo.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromIntTo
  */
+@Deprecated
 public interface MapFromIntTo<V> {
   /**
    * Retrieves a value for the specified key.
diff --git a/elemental/src/elemental/util/MapFromIntToString.java b/elemental/src/elemental/util/MapFromIntToString.java
index 88365f1..136946e 100644
--- a/elemental/src/elemental/util/MapFromIntToString.java
+++ b/elemental/src/elemental/util/MapFromIntToString.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromIntToString
  */
+@Deprecated
 public interface MapFromIntToString {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringTo.java b/elemental/src/elemental/util/MapFromStringTo.java
index 3f3907e..3732537 100644
--- a/elemental/src/elemental/util/MapFromStringTo.java
+++ b/elemental/src/elemental/util/MapFromStringTo.java
@@ -22,6 +22,7 @@
  * 
  * @see elemental.js.util.JsMapFromStringTo
  */
+@Deprecated
 public interface MapFromStringTo<V> {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringToBoolean.java b/elemental/src/elemental/util/MapFromStringToBoolean.java
index 46f307a..8ad564d 100644
--- a/elemental/src/elemental/util/MapFromStringToBoolean.java
+++ b/elemental/src/elemental/util/MapFromStringToBoolean.java
@@ -20,6 +20,7 @@
  *
  * @see elemental.js.util.JsMapFromStringToBoolean
  */
+@Deprecated
 public interface MapFromStringToBoolean {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringToInt.java b/elemental/src/elemental/util/MapFromStringToInt.java
index fe732ad..2f17f6a 100644
--- a/elemental/src/elemental/util/MapFromStringToInt.java
+++ b/elemental/src/elemental/util/MapFromStringToInt.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromStringToInt
  */
+@Deprecated
 public interface MapFromStringToInt {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringToNumber.java b/elemental/src/elemental/util/MapFromStringToNumber.java
index c6c6694..4e13093 100644
--- a/elemental/src/elemental/util/MapFromStringToNumber.java
+++ b/elemental/src/elemental/util/MapFromStringToNumber.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromStringToNumber
  */
+@Deprecated
 public interface MapFromStringToNumber {
 
   /**
diff --git a/elemental/src/elemental/util/MapFromStringToString.java b/elemental/src/elemental/util/MapFromStringToString.java
index de4437b..0afaeb5 100644
--- a/elemental/src/elemental/util/MapFromStringToString.java
+++ b/elemental/src/elemental/util/MapFromStringToString.java
@@ -20,6 +20,7 @@
  * 
  * @see elemental.js.util.JsMapFromStringToString
  */
+@Deprecated
 public interface MapFromStringToString {
 
   /**
diff --git a/elemental/src/elemental/util/Mappable.java b/elemental/src/elemental/util/Mappable.java
index 9f33d73..9797ad8 100644
--- a/elemental/src/elemental/util/Mappable.java
+++ b/elemental/src/elemental/util/Mappable.java
@@ -19,6 +19,7 @@
  * An object which can act like a Javascript object with String keys.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface Mappable /* <T> */ {
 
   /**
diff --git a/elemental/src/elemental/util/Settable.java b/elemental/src/elemental/util/Settable.java
index 6f25021..94f097d 100644
--- a/elemental/src/elemental/util/Settable.java
+++ b/elemental/src/elemental/util/Settable.java
@@ -19,6 +19,7 @@
  * Models an object which can act like a Javascript array capable of indexed assignment.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface Settable /* <T> */ extends Indexable /* <T> */ {
 
   /**
diff --git a/elemental/src/elemental/util/SettableInt.java b/elemental/src/elemental/util/SettableInt.java
index c915688..a1cb506 100644
--- a/elemental/src/elemental/util/SettableInt.java
+++ b/elemental/src/elemental/util/SettableInt.java
@@ -19,6 +19,7 @@
  * Models an object which can act like a Javascript array capable of indexed assignment.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface SettableInt extends IndexableInt {
 
   /**
diff --git a/elemental/src/elemental/util/SettableNumber.java b/elemental/src/elemental/util/SettableNumber.java
index 94b08e7..74a52ea 100644
--- a/elemental/src/elemental/util/SettableNumber.java
+++ b/elemental/src/elemental/util/SettableNumber.java
@@ -19,6 +19,7 @@
  * Models an object which can act like a Javascript array capable of indexed assignment.
  */
 // TODO (cromwellian) add generic when JSO bug in gwt-dev fixed
+@Deprecated
 public interface SettableNumber extends IndexableNumber {
 
   /**
diff --git a/elemental/src/elemental/util/Timer.java b/elemental/src/elemental/util/Timer.java
index 56ed9a8..fce710d 100644
--- a/elemental/src/elemental/util/Timer.java
+++ b/elemental/src/elemental/util/Timer.java
@@ -28,6 +28,7 @@
  * To schedule a timer, simply create a subclass of it (overriding {@link #run})
  * and call {@link #schedule} or {@link #scheduleRepeating}.
  */
+@Deprecated
 public abstract class Timer {
 
   private boolean isRepeating;
diff --git a/elemental/src/elemental/util/impl/JreArrayOf.java b/elemental/src/elemental/util/impl/JreArrayOf.java
index 3c0087b..cd2582b 100644
--- a/elemental/src/elemental/util/impl/JreArrayOf.java
+++ b/elemental/src/elemental/util/impl/JreArrayOf.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of ArrayOf for server and dev mode.
  */
+@Deprecated
 public class JreArrayOf<T> implements ArrayOf<T> {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreArrayOfBoolean.java b/elemental/src/elemental/util/impl/JreArrayOfBoolean.java
index 23e59e7..8731e27 100644
--- a/elemental/src/elemental/util/impl/JreArrayOfBoolean.java
+++ b/elemental/src/elemental/util/impl/JreArrayOfBoolean.java
@@ -23,6 +23,7 @@
 /**
  * JRE implementation of ArrayOfBoolean for server and dev mode.
  */
+@Deprecated
 public class JreArrayOfBoolean implements ArrayOfBoolean {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreArrayOfInt.java b/elemental/src/elemental/util/impl/JreArrayOfInt.java
index 14ba8af..d85cdcc 100644
--- a/elemental/src/elemental/util/impl/JreArrayOfInt.java
+++ b/elemental/src/elemental/util/impl/JreArrayOfInt.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of ArrayOfInt for server and dev mode.
  */
+@Deprecated
 public class JreArrayOfInt implements ArrayOfInt {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreArrayOfNumber.java b/elemental/src/elemental/util/impl/JreArrayOfNumber.java
index ded7193..bdc5015 100644
--- a/elemental/src/elemental/util/impl/JreArrayOfNumber.java
+++ b/elemental/src/elemental/util/impl/JreArrayOfNumber.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of ArrayOfInt for server and dev mode.
  */
+@Deprecated
 public class JreArrayOfNumber implements ArrayOfNumber {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreArrayOfString.java b/elemental/src/elemental/util/impl/JreArrayOfString.java
index 11fa335..66436d9 100644
--- a/elemental/src/elemental/util/impl/JreArrayOfString.java
+++ b/elemental/src/elemental/util/impl/JreArrayOfString.java
@@ -27,6 +27,7 @@
 /**
  * JRE implementation of ArrayOfString for server and dev mode.
  */
+@Deprecated
 public class JreArrayOfString implements ArrayOfString {
 
   private ArrayOf<String> array;
diff --git a/elemental/src/elemental/util/impl/JreMapFromIntTo.java b/elemental/src/elemental/util/impl/JreMapFromIntTo.java
index 72eaef7..0a0c13b 100644
--- a/elemental/src/elemental/util/impl/JreMapFromIntTo.java
+++ b/elemental/src/elemental/util/impl/JreMapFromIntTo.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of MapFromIntTo for server and dev mode.
  */
+@Deprecated
 public class JreMapFromIntTo<T> implements MapFromIntTo<T> {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromIntToString.java b/elemental/src/elemental/util/impl/JreMapFromIntToString.java
index 578674b..41928ac 100644
--- a/elemental/src/elemental/util/impl/JreMapFromIntToString.java
+++ b/elemental/src/elemental/util/impl/JreMapFromIntToString.java
@@ -22,6 +22,7 @@
 /**
  * JRE implementation of MapFromIntToString for server and dev mode.
  */
+@Deprecated
 public class JreMapFromIntToString implements MapFromIntToString {
 
  /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringTo.java b/elemental/src/elemental/util/impl/JreMapFromStringTo.java
index 0045c01..e45472a 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringTo.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringTo.java
@@ -25,6 +25,7 @@
 /**
  * JRE implementation of MapFromStringTo for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringTo<T> implements MapFromStringTo<T> {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringToBoolean.java b/elemental/src/elemental/util/impl/JreMapFromStringToBoolean.java
index 23e5fb1..e69d6e7 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringToBoolean.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringToBoolean.java
@@ -22,6 +22,7 @@
 /**
  * JRE implementation of MapFromStringToBoolean for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringToBoolean implements MapFromStringToBoolean {
 
  /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringToInt.java b/elemental/src/elemental/util/impl/JreMapFromStringToInt.java
index 58c1a67..2cde02d 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringToInt.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringToInt.java
@@ -22,6 +22,7 @@
 /**
  * JRE implementation of MapFromStringToInt for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringToInt implements MapFromStringToInt {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringToNumber.java b/elemental/src/elemental/util/impl/JreMapFromStringToNumber.java
index 63ca0c4..f91fc48 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringToNumber.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringToNumber.java
@@ -22,6 +22,7 @@
 /**
  * JRE implementation of MapFromStringToNumber for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringToNumber implements MapFromStringToNumber {
 
   /*
diff --git a/elemental/src/elemental/util/impl/JreMapFromStringToString.java b/elemental/src/elemental/util/impl/JreMapFromStringToString.java
index 5ac73b4..4dae947 100644
--- a/elemental/src/elemental/util/impl/JreMapFromStringToString.java
+++ b/elemental/src/elemental/util/impl/JreMapFromStringToString.java
@@ -21,6 +21,7 @@
 /**
  * JRE implementation of MapFromStringToString for server and dev mode.
  */
+@Deprecated
 public class JreMapFromStringToString implements MapFromStringToString {
 
   /*
