Marigold aims to preserve the patterns found in lambda calculus. It doesn't want to be a completely new language, but instead a helping hand for lambda calculus. This means preserving
We are not computers, or robots, or aliens. We don't want to write
(λmn.λgy.m g (n g y)) (λfx.f x) (λfx.f x)
to calculate 1 + 1.
So, Marigold sacrificed some "faithfulness" for readability. For example,
operators like addition don't follow the function argument argument pattern,
but make it both easier to read and write.
Some languages are more robust than others. And that's great! Putting 20 different keywords before a variable assignment can absolutely be useful sometimes. Marigold is not one of those languages. Any boilerplate gets cut, for a simple, quick coding experience.