`functor', `args', `funargs'
----------------------------

functor(FUNC)
     :: FUNC $@$NH!?t;R$r<h$j=P$9(J.
args(FUNC)
     :: FUNC $@$N0z?t%j%9%H$r<h$j=P$9(J.
funargs(FUNC)
     :: `cons(functor(FUNC),args(FUNC))' $@$rJV$9(J.

RETURN
     `functor()' : $@ITDj85(J, `args()', `funargs()' : $@%j%9%H(J
FUNC
     $@H!?t7A<0$rI=$9ITDj85(J

   * $@H!?t7A<0$K4X$7$F$O(J, `vtype()' $@$r;2>H(J.
   * $@H!?t7A<0(J FUNC $@$NH!?t;R(J, $@0z?t%j%9%H$r<h$j=P$9(J.
   * $@5U$K(J, $@<h$j=P$7$?H!?t;R$rCM$K;}$D%W%m%0%i%`JQ?t$r(J `F' $@$H$9$l$P(J 
     (`*F')(x) $@$G(Jx $@$r0z?t$H$9$kH!?t8F$S=P$7$^$?$OH!?t7A<0$,F~NO$G$-$k(J.

     [0] functor(sin(x));
     sin
     [0] args(sin(x));
     [x]
     [0] funargs(sin(3*cos(y)));
     [sin,3*cos(y)]
     [1] for (L=[sin,cos,tan];L!=[];L=cdr(L)) {A=car(L); print(eval((*A)(@pi/3)));}
     0.86602540349122136831
     0.5000000002
     1.7320508058

$@;2>H(J
     `vtype'

