That is a struct of elfeed-entry (defined by elfeed). The #s here means struct. The first one is for elfeed-entry, the second is for elfeed-ref.
(cl-defstruct website name shortname url shorturl)
(make-website :name "StackOverflow"
;; => #s(website "StackOverflow" nil "https://stackoverflow.com/" nil)
While waiting for a better answer, I wrote a with-slots macro that seems to work with defstruct instances:
(defmacro my-with-slots (class-name slots obj &rest body)
"Bind slot names SLOTS in an instance OBJ of class CLASS-NAME, and execute BODY."
(declare (indent 3))
,(cl-loop for slot in slots
Your tern package was compiled with the older Emacs, but the newer Emacs has changed the representation of structs: the [cl-struct-url http nil nil 127.0.0.1 39585 / nil nil nil nil t] in your error message is an "old-style" struct, returned by the old url-parse-make-urlobj. This happens because this function was inlined when tern was compiled.
You can try ...