added `map` to sets
added tests for set
fixed a bug in `map` for sets
fixes #797; generic procs can be used in places expecting matching concrete proc types