code: func Decode(b []byte, mhType uint64, mhLen int) (*Node, error) {
  	var m interface{}
  	if err := DecodeInto(b, &m); err != nil {
  		return nil, err
  	}
  
  	// We throw away `b` here to ensure that we canonicalize the encoded
  	// CBOR object.
  	return WrapObject(m, mhType, mhLen)
  }
docs: // Decode decodes a CBOR object into an IPLD Node.
  //
  // If passed a non-canonical CBOR node, this function will canonicalize it.
  // Therefore, `bytes.Equal(b, Decode(b).RawData())` may not hold. If you already
  // have a CID for this data and want to ensure that it doesn't change, you
  // should use `DecodeBlock`.
  // mhType is multihash code to use for hashing, for example mh.SHA2_256
  //
  // Note: This function does not hold onto `b`. You may reuse it.