You’re mixing up several things there; also those docos are fibs: there’s no proposal to change sizeOf
from what’s in the Prelude today.
sizeOf
never did use Proxy
. What we need IMO is a way to say that in sizeOf False
or sizeOf (undefined :: Bool)
or sizeOf (type Bool)
, sizeOf
is interested only in the type of its argument. The trouble with sizeOf @Bool
— which anyway isn’ going to be supported — is the @…
is optional: there’s no way to insist a type argument be provided.
If we want a type argument to be always provided, I see no reason for insisting it be the first arg following the function; whereas @…
or a visibly dependent type arg must come first. So I find these first exemplars of DT to be just _un_ergonomic, poorly designed and unHaskelly.
Again I’m saying this not to try to reverse those proposals, but to counter the attitude that DT has ‘won’ or has persuaded everybody. What’s worse, DT seems to be the only part of GHC that’s getting any attention (as opposed to, say, providing a records system even as not-totally-embarrassing as purescript
‘s). So I see no downside in stopping at GHC 8.10.