I think 'help' has trouble with goops entities:
/home/bil/cl/ guile
guile> (version)
"1.4"
guile> (use-modules (ice-9 session))
guile> (use-modules (oop goops))
guile> (help define-class)
ERROR: Stack overflow
ABORT: (stack-overflow)
/home/bil/cl/ guile-oops
guile> (use-modules (oop goops))
guile> (use-modules (ice-9 session))
guile> (help define-class)
ERROR: Stack overflow
ABORT: (stack-overflow)
guile> (version)
"1.4"
Here I tried to get a backtrace:
:(use-modules (ice-9 session))
#<unspecified>
:(use-modules (oop goops))
#<unspecified>
:(help define-class)
#f: Stack overflow
747 (do ((modules modules #) (data data #)) ((null? modules) data))
748* [rec ((# define-class #f)) (#<directory # 404e8988>)]
749 (do ((modules modules #) (data data #)) ((null? modules) data))
750* [rec ...
751* [#<procedure (module data)> ...
752* [module-public-interface #<directory (oop goops goopscore) 404e8988>]
753 [module-ref #<directory # 404e8988> %module-public-interface #f]
754 (let ((variable #)) (if (and variable #) (variable-ref variable) ...))
755* [module-variable #<directory # 404e8988> %module-public-interface]
756 [module-search #<procedure module-local-variable #> # ...]
...
757 (or (fn m v) (loop (module-uses m)))
758* [module-local-variable #<directory # 404e8988> %module-public-interface]
759 (let ((b #)) (or (and # b) (and # #)))
760* [module-obarray-ref ...
761* [module-obarray #<directory (oop goops goopscore) 404e8988>]
762 (and (eq? (quote #) (record-type-descriptor obj)) (struct-ref obj 0))
763* [eq? #<record-type module> ...
764* [record-type-descriptor #<directory (oop goops goopscore) 404e8988>]
765 (if (struct? obj) (struct-vtable obj) (error (quote not-a-record) obj))