On 28-07-2022 06:55, bokr@bokr.com wrote: > Lots of systems are dealing with this issue, it seems, judging from > [1]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 > 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  suppose you could subdivide the *unspecified* value, but why characters? I think it would be better to: * gradually move away from *unspecified* to (values) * and this way, gradually change the meaning of *unspecified* from "an unspecified value" to 'an atom you can do with as you want" * after this, unspecified? and making # readable by the reader aren't weird anymore though more something for guile-devel@ I suppose. Greetings, Maxime