module Gamefic::Scripting::Entities

def find *args

def find *args
  args.inject(entities) do |entities, arg|
    case arg
    when String
      result = Scanner.scan(entities, arg)
      result.remainder.empty? ? result.match : []
    else
      entities.that_are(arg)
    end
  end
end