code: func (ns *Namespace) Fingerprint(args ...interface{}) (resource.Resource, error) {
  	if len(args) < 1 || len(args) > 2 {
  		return nil, errors.New("must provide a Resource and (optional) crypto algo")
  	}
  
  	var algo string
  	resIdx := 0
  
  	if len(args) == 2 {
  		resIdx = 1
  		var err error
  		algo, err = cast.ToStringE(args[0])
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	r, ok := args[resIdx].(resource.Resource)
  	if !ok {
  		return nil, fmt.Errorf("%T is not a Resource", args[resIdx])
  	}
  
  	return ns.integrityClient.Fingerprint(r, algo)
  }
docs: // Fingerprint transforms the given Resource with a MD5 hash of the content in
  // the RelPermalink and Permalink.