         return subscription
     }
 
-    public func unsubscribe(subscriber: Subscription<(T -> Void)>) {
+    public func unsubscribe(subscriber: Subscription<HandlerType>) {
         subscriptions.remove(subscriber)
     }
 

import Foundation

public class Observable<T> {

    // MARK: - Properties



    // MARK: Subscription

    public func subscribe(options: SubscriptionOptions = [.New], handler: HandlerType) -> Subscription<HandlerType> {
        let subscription = Subscription<HandlerType>(handler: handler)
        subscriptions.insert(subscription)

        if options.contains(.Initial) {
