code: def CAN(message1, *messages)
        messages = [message1, *messages]
        unless messages.all?{|s|
                  [Symbol, String].any?{|klass|s.kind_of? klass}
                }
          raise TypeError, 'only Symbol or String for message'
        end
  
        ->v{
          messages.all?{|message|v.respond_to? message}
        }
      end
docs: A condition builder.
   @param messages [Symbol, String]
   @return [lambda]
     this lambda return true if a argment respond to all messages