I don't see the basis for these changes. What's the problem with using a scalar? Maybe you could specify what problem you are trying to solve? That would be the first step in providing the needed justification that appears completely missing.
The historical similarity to the I/O syntax creates some parse conflicts and it is not possible to call a constructor named open in IO syntax because of these parse conflicts, but I offer a solution in three parts:
But that problem is already being solved. That's only a problem when using indirect method notation, which has long been discouraged by some (incl myself), and which is being "removed".