     main queue immediately. The function is always executed asynchronously, even
     if the Deferred is filled from the main queue.
     
-    :param: function A function that uses the determined value.
-    */
-    public func uponMainQueue(function: Value -> ()) {
-        upon(dispatch_get_main_queue(), function: function)
+    :param: body A function that uses the determined value.
+    */
+    public func uponMainQueue(body: Value -> ()) {
+        upon(dispatch_get_main_queue(), body: body)
     }
 
     /**

            let storage = storageRef.takeUnretainedValue()

            let value = storage.value
            function(value)
        }
        dispatch_block_notify(onFilled, accessQueue, block)
        return block

    queue immediately. An `upon` call is always executed asynchronously.
    
    :param: queue A dispatch queue for executing the given function on.
    :param: body A function that uses the determined value.
    */
    public func upon(queue: dispatch_queue_t = genericQueue, body: Value -> ()) {
        _ = upon(options: DISPATCH_BLOCK_INHERIT_QOS_CLASS) { value in
            dispatch_async(queue) {
                body(value)
            }
        }
    }
