 
 (defn get-links
   [store id]
-  (let [id (identify id)]
+  (when-let [id (identify id)]
     (some->
       (-get-node store id)
       (:links)


(defn get-data
  [store id]
  (let [id (identify id)
        node (-get-node store id)]
    (some->
      (:data node)
      (vary-meta assoc
        :merkledag.node/id id
        :merkledag.node/links (:links node)))))


(defn store-node!


(extend-protocol Identifiable

  nil
  (identify [_] nil)

  multihash.core.Multihash
  (identify [m] m)

  blocks.data.Block
  (identify [b] (:id b))

  merkledag.link.MerkleLink
  (identify [l] (:target l)))


(defprotocol NodeStore
