Sets, added ArrayLiteralConvertible protocol and improved map, reduce, filter