times =: dyad define script
if. (fractionp x.) and fractionp y.
    do. x. times_rat y.
  elseif. (fractionp x.) and numberp y.
    do. ((num x.) % den x.) * y.
  elseif. (numberp x.) and fractionp y.
    do. x. * (num y.) % den y.
  elseif. (numberp x.) and numberp y.
    do. x. * y.
  elseif. 1
    do. error 'wrong type input to plus'
end.
)
