def evaluable?
      !lambda? &&
        !aop? &&
        ( !args || args.all?{|a| Evaller.evaluable? a } ) &&
        ( !custom_target? || Evaller.evaluable?( custom_target? ) )
    end
def evaluable?
      !lambda? &&
        !aop? &&
        ( !args || args.all?{|a| Evaller.evaluable? a } ) &&
        ( !custom_target? || Evaller.evaluable?( custom_target? ) )
    end
def delegatable?
       !aop? && !custom_target? && !all? && !chain? && !args && !lambda?
     end