Lots of systems are dealing with this issue, it seems, judging from  https://en.wikipedia.org/wiki/Bottom_type
I don't think it's a bottom type -- *unspecified* _is_ a value, so if we assign a type to it, it is inhabited, and hence not a bottom type. I
suppose you could subdivide the *unspecified* value, but why characters?What about using characters from some private upper unicode section to represent various kinds of unspecified things? E.g., as guile named chars, #\unspecified_function_retval #\unspecified_function_error #\unspecified_macro_err #\unspecified_exception
I think it would be better to:
though more something for guile-devel@ I suppose.