Add "Provider" interfaces to ...Sets. ...Maps can also act as providers, returning themselves.

Also includes various minor fixups.