Updated to use public

Created init for structs. Made init public. Changed referenced typealias in return results as public. Updated Set == and != to compile.
should this still be `final` as well as `public`?