The argument types and return types for dispatch methods are limited to the following:
<integer>, <character>, <single-float>, <double-float>, <boolean>, <PLARGE-INTEGER>,<ole-array>,<LPDISPATCH>,<class-factory>, <machine-word>
This limitation is necessary to allow the types to be mapped between Dylan and the C representations of the Microsoft OLE/COM libraries.
If necessary, you can use pass-as to constrain the representation of result values.