Allow `or` to take string as arguments.

I have no idea why I thought it shouldn't.
Check that symbols refer to aliases.
Drag out `unexpanded-op?` as defn.