# File lib/rule_engine.rb, line 309
  def weight_fcd *args, &block
    bg, are_args = block_given?, args.size > 0
    if bg && are_args
      __drp__error "weight_fcd called with both args and block"
    elsif bg
      @__drp__weights << Weights::ProcWeightFromCurrentDepth.factory(block)
    elsif are_args
      @__drp__weights << Weights::WeightFromCurrentDepth.factory(args)
    else
      raise ArgumentError, 'weight_fcd called with neither args nor block', caller
    end 
  end