code: function(thing) {
      if (L.existy(thing) && L.existy(thing.snapshot))
        return thing.snapshot();
      else
        fail("snapshot not currently implemented")
        //return L.snapshot(thing);
    }
docs: Delegates down to the snapshot method if an object has one or clones the object outright if not.  This is not as robust as it could be.  Explore the possibility of pulling in Lo-Dash's impl.