You can even no to pass 'type', because if you try to do "MyBottom.ASS = Object.ASS ( what )" when what is not an ASS but a NOSE, it returns Null. So you can do:
Function kissMy (what%) MyBottom.ASS = Object.ASS ( what ) If (MyBottom <> Null) Then ... kiss my ass ... Else MyNose.NOSE = Object.NOSE(what) If (MyBottom <> Null) Then ... kiss my nose ... Else RuntimeError("Eh man, what's that?") EndIf EndIf End Function