public static Card AI_getBest(CardList list) {
    	// Get Best will filter by appropriate getBest list if ALL of the list is of that type
    	if (list.getNotType("Creature").size() == 0)
    		return AI_getBestCreature(list);
    	
    	if (list.getNotType("Land").size() == 0)
    		return AI_getBestLand(list);
    
    	// TODO: Once we get an EvaluatePermanent this should call getBestPermanent()
    	return AI_getMostExpensivePermanent(list);
    }