 }
 
 extension Action {
-	/// A UI bindable `CocoaAction`. The default behavior force casts the
-	/// AnyObject? input to match the action's `Input` type. This makes it
-	/// unsafe for use when the action is parameterized for something like
-	/// `Void` input. In those cases, explicitly assign a value to this property
-	/// that transforms the input to suit your needs.
+	/// A UI bindable `CocoaAction`.
+	///
+	/// - warning: The default behavior force casts the `AnyObject?` input to 
+	///            match the action's `Input` type. This makes it unsafe for use 
+	///            when the action is parameterized for something like `Void` 
+	///            input. In those cases, explicitly assign a value to this
+    ///            property that transforms the input to suit your needs.
 	public var unsafeCocoaAction: CocoaAction {
 		return CocoaAction(self) { $0 as! Input }
 	}

	
	/// Initializes a Cocoa action that will invoke the given Action by
	/// transforming the object given to execute().
	public init<Input, Output, Error>(_ action: Action<Input, Output, Error>, _ inputTransform: AnyObject? -> Input) {
		_execute = { input in
			let producer = action.apply(inputTransform(input))

		}
	}
	
	/// Initializes a Cocoa action that will invoke the given Action by always
	/// providing the given input.
	///
	/// - parameters:
	///   - action: Executable action.
	///   - input: A value given as input to the action.
	public convenience init<Input, Output, Error>(_ action: Action<Input, Output, Error>, input: Input) {
		self.init(action, { _ in input })
	}
