def do_call(aargs, caller_ep, caller_env, scratch, replace_recv_ty,, replace_cref,, &ctn)
if aargs.lead_tys.size >= 1
recv = aargs.lead_tys[0]
recv = Type.any if recv == Type.bot
aargs = ActualArguments.new(aargs.lead_tys[1..], aargs.rest_ty, aargs.kw_tys, aargs.blk_ty)
elsif aargs.rest_ty
recv = aargs.rest_ty.elems.squash_or_any
else
recv = Type.any
end
scratch.add_block_signature!(self, aargs.to_block_signature)
recv.each_child do |recv|
scratch.do_send(recv, @sym, aargs, caller_ep, caller_env, &ctn)
end
end