make DrRacket cache path->pkg calls within a single 'Run'
fix dumb mistake in 093fba97d93781f9bd9caef8fcb2028cc38dd34f
Fix misuse of expected in tc-funapp.
Fix misuse of expected in tc-keywords.
Make domain-mismatches have a more sensible default value.
Make profile and profile-thunk return the value of the profiled expression.

Closes PR14404.
Reorder profiler docs.
unboxing improvement in the JIT

Improve the "can unbox test" to include patterns that were already covered
by the more restrictive "can unbox without disturbing N registers" test
(which is always tried first, but the weaker test recurs within patterns
that the stronger test does not recognize).
avoid calling pkg->path from DrRacket's manager-skip-file-handler
Revert "avoid calling pkg->path from DrRacket's manager-skip-file-handler"

The reverted commit assumed that all pkgs were in either (get-pkgs-search-dirs)
or (find-user-pkgs-dir), which is a bogus assumption

This reverts commit b600dcc7bcd3783768f30aed81680a981a408d44.
Cut out class dependencies for typed/racket/base

Use (require typed/racket/class) for classes when
using #lang typed/racket/base
Fix for commit dd239f3

Forgot to commit the edits to the tests for the
reorganization in the last commit.
Remove unused require in class-prims
a start on a system to explore that classic "let polymorphism+ref cells" bug

so far, we've got the buggy let rule and polymorphism going
still need to do ref cells, tho
ffi/unsafe/com: fix VT_BOOL representation

A VT_BOOL isn't a _bool; it's a 16-bit #xFFFF or #x0000.

Closes PR 14425
add ref cells and make primitives behave polymorphically and some general cleanup
racket/gui gtk: fix -singleInstance mode and relative paths
racket/gui gtk: fix -singleInstance for paths that don't work as strings

Just in case a relative path turned into an absolute path doesn't
work as a string, add support for a bytes encoding.
fix a very very old bug in Redex uncovered by the new enumerator

The new test case in this commit shows the bad behavior;
the fix was to replace the regexp #rx".*[^0-9]([0-9]+)$"
with #rx"([0-9]+)$", ie make the regexp work properly in
the empty case (since regexps promise to find longest matches
anyway).

Also, Rackety
Add in let-poly bugs

also, misc clean ups of let-poly