It's even simpler than that. I changed function application so that if the first element of the expression is a simple type (e.g. a number), it just gets returned.
That's cool enough. Though, potential spot for allowing subtle bugs? If I'm tossing around what I believe is a function (but instead happens to be a simple type, maybe even like #f or something), when I apply it I'd prefer to get a runtime error instead of a silent value return.
Having a more dense language inevitably means that more programs turn out to be accidentally meaningful. If the power of a programming language is the inverse of how long programs are (which is the best definition I've found so far), you can't make a language more powerful without the space of meaningful programs becoming denser.
Having a more dense language inevitably means that more programs turn out to be accidentally meaningful. Since Arc is designed to be an LFSP, that trade-off is worth it.