Simplifying Refinement Promotion

Turning my head sideways and looking at the range of uses, I'm wondering if there really is just one MAKE operation for FRAME!, it is just sensitive to whether an argument is mandatory or optional.

>> make frame! append/
== #[frame! [
    series: ~
    value: ~
    part: ~null~
    dup: ~null~
    line: ~null~
]]

>> make frame! append:dup/
== #[frame! [
    series: ~
    value: ~
    dup: ~
    part: ~null~
    line: ~null~
]]

Hence you can still glean from the frame whether a refinement was used or not. But you're not prohibited from overriding it if you like.

I'm having a little bit of deja-vu about this, like maybe this is a design point that was passed through at some time. But I don't actually know if it has been. This ties in with "frame lensing" in a sense that if a lens gets applied those refinements will actually vanish... but since COPY FRAME! and MAKE FRAME! have diverged in terms of their intents, you wouldn't be using MAKE FRAME! if your intent is to create a derived function.