Problem 1. It's not possible to passUsage of a Deferred deferred function to will fail compilation when used as typed parameter value when requiring a class that accepts. The compiler will error on a Sensitive mismatch of the parameter during *compilation on type and the server* yet-to-be-resolved deferred function. For 1Functions can have their return type specified, I think it's reasonable which can then be tested to "update match the parameter type system. Many functions do not specify their return_type though, and so in that scenario the Deferred type, to pass validation as compiler should clearly warn that the type compiler cannot guarantee the deferred correctness of the return value of the function will resolve to" Maggie/Froyo are going to spike this.
Before this fix, it was not possible to compile a catalog that used a `Deferred` value for a typed parameter class; the compiler would error with a message stating that the type expected did not match `Deferred`. With this fix, the compiler will inspect the Deferred class's return type and ensure it matches the class parameter type. If the Deferred function has no return type, the compiler will warn that it cannot guarantee the type will adhere to the type the class specifies.