code: func parseComment(t *thing) (*Comment, error) {
  	// Reddit makes the replies field a string if it is empty, just to make
  	// it harder for programmers who like static type systems.
  	value, present := t.Data["replies"]
  	if present {
  		if str, ok := value.(string); ok && str == "" {
  			delete(t.Data, "replies")
  		}
  	}
  
  	c := &comment{}
  	if err := mapstructure.Decode(t.Data, c); err != nil {
  		return nil, mapDecodeError(err, t.Data)
  	}
  
  	var err error
  	if c.Replies.Kind == listingKind {
  		c.Comment.Replies, _, _, err = parseListing(&c.Replies)
  	}
  
  	c.Comment.Deleted = c.Comment.Body == deletedKey
  	return &c.Comment, err
  }
docs: // parseComment parses a comment into the user facing Comment struct.