Did you know that ColdFusion 8 adds "component" as a valid type to both the returnType attribute of cffunction and the type attribute of cfargument? What does this mean? The default "rule" for types is that if you do not specify a type recognized by ColdFusion (list provided at the bottom of this post), then ColdFusion assumes you mean a component. So for example:

<cfargument name="app" type="apple">

This line means that the app argument must be a component of type apple. It is also valid to pass in a component that extends apple, like greenapple.cfc. But again - what happened here was that ColdFusion didn't recognize apple and therefore considers it the name of a component.

ColdFusion 8 adds to the list of the supported types by adding "component". When you use component, you can pass any CFC instance. In the past, the only way to allow for any CFC would be to use "any". If we wanted to change that app argument to allow any CFC, we could use this:

<cfargument name="app" type="component">

For your reference, here is the list of supported types for cfargument/cffunction.

anyAny variable type is allowed.
arrayAn array is required.
binaryBinary data is required.
booleanBoolean data is required.
componentA component instance is required.
dateDate data is required.
guidA valid GUID value is required.
numericNumeric data is required.
queryQuery data is required. In case it isn't obvious, a query with no rows is still a valid query.
stringString data is required.
structStructure data is required.
uuidA ColdFusion UUID is required.
variableNameThe value must be a string and must be a valid ColdFusion variable name. It doesn't mean the variable has to exist, just that the variable name is valid.
voidSpeficies that no value is used. This only works in cffunction, not cfargument.
XMLXML data is required.

One last note - you can also specify a component name and brackets. For example, apple[]. This means that an array of apple components is required. Do note though that ColdFusion only checks the first item in the array.