The purpose of this refactoring is to add check for legal hash argument types.
We haven't yet settled on which types are actually allowed as hash argument types, but now it's easy to change it. See
Note also that we disallow maps, closures and type closures as procedure arguments, which there isn't actually any need to do. We do have testcases for it, though, so it's probably intentional. Again, with this refactoring it's easy to change if we feel like it.
The purpose of this refactoring is to add check for legal hash argument types.
We haven't yet settled on which types are actually allowed as hash argument types, but now it's easy to change it. See
Note also that we disallow maps, closures and type closures as procedure arguments, which there isn't actually any need to do. We do have testcases for it, though, so it's probably intentional. Again, with this refactoring it's easy to change if we feel like it.