As a general meta-observation, the whole point of the "let's throw all the pieces in the air" discussions is that often, when you break some existing assumptions, you can reassemble the pieces in a lower energy state -- but you usually can't get there in one move.  So usually in the middle of that process, you find yourself transiting through states which may be more mathematically attractive but less syntactically attractive; the key is to sit on your aesthetic reaction and realize that this may well be an intermediate state.

There was a lot of pushback to the "User model stacking" thread (including in the -comments postings), on the basis of "these names suck" or "there are too many knobs".  But its unlikely we get to the right stacking without first going through a less attractive, but more general stacking.

The inversion below might not be part of the final answer, but let's let the process play out, I think we're making progress.

On 5/4/2022 3:36 PM, Brian Goetz wrote:


Pulling farther, there's a bucket-inversion we might be able to pull here, just by moving some terminology around:

    class B1 { }                 // ref only
    value class B3 { }           // ref and val projections
    value-based class B2 { }     // ref only

Reply via email to