The OS/2 and Windows shells together, complement features missing in the other. The sort of hacks you can do with REXX and the WPS don't cut it in Windows, but MSFT got the idea right when they had proper files, rather than just EAs for their shell. I even added items to a windows desktop remotely. IBM gave a lot of flexibility to the REXX api to the shell, but the SETUP string was a single element, and it could had been something akin to an environment in an INI file.
One could had done some interesting things with PIF files. For example, they could had launched an application off-path, and the same icon could have had several pages for different operating systems, so for example, the Boxer.pif could launch boxer, tko or boxer/2 for different operating systems. You put a mob of these in a directory and you could launch different applications without having to go to the desktop, or some menuing system.
So, you could have a fairly decent file patcher, and still just have a single link in the PIF file.
EXTPROC in OS/2, is the DOS version of the UNIX
For example, the OS/2 EWS "StartDOS" expects a REXX script as input, so if you made REXX handle EXTPROC, you could start the startDOS script as extproc
Alternate DOS/Unix command line personalities, so that programs that look for UNIX or DOS would not have to be rewritten. Likewise, you could convert the drives into different pointers in the unix system, so that you could have multiple cwd's (eg subst c:
Run a file under a different extension. You can already do things like start OEMSETUP.BIN with the extension, and many utilities load
Clipboard and Select interface from the command line. You could do things like 'select = ls pk*.*' , which would add the output files of the ls command to the select list, select
Multiple desktops at session level. Something like LaTeX involves lots of little files in the path, which are largely used purely for Latex. A TeX desktop (by setting desktop=tex in the PIF), might open up a window of utilities that share more or less like the same virtual machine. You create objects in there which inherit the common Latex settings, so ye could have an Editor in there, like WinEdit, etc. When you are not playing LaTeX, these are no longer in the path. These could be in 'groups' like Win31 Progman, and you put links out to the common paths.
Multi-language interface, so one can use REXX. Lua, or a variety of other languages to access system functions. Something like 'fdisk' might report things like the size and file system of a device, and a function-call like call 'fdisk' diskfree, 'c:' could be used in any script, including command.com.
Network as a separate desktop, so one can be logged into several networks at once.