import "Iterator" as Iterator importJava "java.util.Set" where data T a contains :: T a -> a -> Boolean size :: T a -> Integer isEmpty :: T a -> Boolean @private iterator :: T a -> Iterator.T a @inline iter :: (a -> ()) -> T a -> () iter f s = runProc (Iterator.iter f (iterator s)) @inline iterB :: (a -> Boolean) -> T a -> Boolean iterB f s = runProc (Iterator.iterB f (iterator s)) @inline fold :: (a -> b -> a) -> a -> T b -> a fold f init s = runProc (Iterator.fold f init (iterator s))