use std::collections::hash_map::HashMap;
use js_types::js_type::{JsType, JsThing};

pub struct JsObj {
    proto: Option<Box<JsObj>>,
    dict: HashMap<JsType, JsType>,
}

impl JsThing for JsObj {}

impl JsObj {
    pub fn new() -> JsObj {
        JsObj {
            proto: None,
            dict: HashMap::new(),
        }
    }
}

use std::collections::btree_map::BTreeMap;
use js_types::js_type::{JsType, JsThing};

pub struct JsObj {
    proto: Option<Box<JsObj>>,
    dict: BTreeMap<JsType, JsType>,
}

impl JsThing for JsObj {}

impl JsObj {
    pub fn new() -> JsObj {
        JsObj {
            proto: None,
            dict: BTreeMap::new(),
        }
    }
}

--- 
+++ 
@@ -1,9 +1,9 @@
-use std::collections::hash_map::HashMap;
+use std::collections::btree_map::BTreeMap;
 use js_types::js_type::{JsType, JsThing};
 
 pub struct JsObj {
     proto: Option<Box<JsObj>>,
-    dict: HashMap<JsType, JsType>,
+    dict: BTreeMap<JsType, JsType>,
 }
 
 impl JsThing for JsObj {}
@@ -12,7 +12,7 @@
     pub fn new() -> JsObj {
         JsObj {
             proto: None,
-            dict: HashMap::new(),
+            dict: BTreeMap::new(),
         }
     }
 }
Use HashMap in JsObj instead of BTreeMap
