optimizer: enable movement of constants that shouldn't be duplicated

Closes PR 14531
optimizer: more ad hoc `car` and `cdr` cases

Closes PR 14533
optimizer: ad hoc optimization of predicates applied to constructions

This is probably more of a job for Typed Racket, but maybe it's
useful to detect some obviously unnecessary allocations of lists, etc.

Closes PR 14532