SI-7784 Allow a singleton type over a constant value defn.

When typechecking a `SingletonTypeTree`, we must `deconst`
the type of the typechecked reference tree to avoid collapsing
`a.type` into a constant type if `a` is a constant value definition.

Review by @adriaanm

Thought this might be worth consideration in light of your SIP-23
work.