structural type Optional a = Some a | None structural type Maybe a = Just a | Nothing
and these two types would get the same hash, and the types and constructors could be used interchangeably. If you used the "unique" type instead:
unique type Optional a = Some a | None uniqte type Maybe a = Just a | Nothing
Then these would be totally separate types with separate constructors, which I believe corresponds to the `BRANDED` keyword in Modula 3.
Originally, if you omitted both and just said:
type Optional a = Some a | None
The default was "structural". We switched that a couple of years ago so that now the default is "unique". We are interestingly uniquely able to do something like this, since we don't store source code, we store the syntax tree, so it doesn't matter which way you specified it before we made the change, we can just change the language and pretty print your source in the new format the next time you need it.
Haven't heard about archforms in a while ;) but it's not a technique for custom syntax, and since markdown is specified as a Wiki syntax with canonical mapping to HTML, there's no need for the kind of simplistic element and token renaming possible with archforms.
For example added an <nbsp> attribute to turn all spaces into non-breaking spaces, and used archforms to remove the attribute afterwards.
But yeah, maybe for Makrdown you don't need archforms. On the other hand, perhaps there is some super clever way to use archforms to get your reference links working.
Edit: I mean structurally identical types that are meant to be distinct. As I recall Modula 3 used a BRANDED keyword for this.
FWIW, my mental CAD/USD price anchor was set when I was coming of age at 0.75 CAD / USD. Today it at 0.73 CAD / USD, and I've seen it touch 0.60 ish and pass parity in my lifetime.
Almost every major currency has lost value relative to the US Dollar over the past 10 years. Not just, like, a little bit. Like, a lot a bit. The Indian Rupee has lost 53% since 2007. Yen, down. Pound, down. Canada, down. That's reality. There is no "switching to avoid devaluation of the USD" when the USD has devalued so much less than almost any other currency on the planet.
One major country that has managed to maintain the value of their currency relative to the USD is China. Who has by some estimates a ~300%+ debt to GDP load (if you think that number is too high, its because whatever estimates you've read before didn't take into account municipal debt, because that's where China hides it). And a 72 year old leader with zero politically-feasible line of succession. And a critically shrinking population. And literally zero global military force projection. Any faith that any country puts into China is going to be destroyed just a few short years after Xi's death; the main thing China has going for it isn't their manufacturing base, AI strategy, or whatever; its that Xi hopefully won't die in the next decade.
It probably also takes 4.5 hours to wash and dry, but I wouldn't know because it happens when I'm sleeping (which just happens to be the same time as the ultra-low time-of-day electricity rates where I live) . It's pretty great. Definitely recommend.
Do not try this at home, as changing battery chemistry is quite ill advised.