lib/lemonad.js
function(thing) {
    if (L.existy(thing) && L.existy(thing.snapshot))
      return thing.snapshot();
    else
      fail("snapshot not currently implemented")
      //return L.snapshot(thing);
  }
function(thing) {
    if (L.existy(thing) && L.existy(thing.snapshot))
      return thing.snapshot();
    else
      fail("snapshot not currently implemented")
      //return L.snapshot(thing);
  }
function ( thing ) { if ( L . existy ( thing ) && L . existy ( thing . snapshot ) ) return thing . snapshot ( ) ; else fail ( "snapshot not currently implemented" ) //return L.snapshot(thing); }
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.
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 .