def has_positions(writer):
    """Check if writer has positions for engine selection"""
    if writer is None:
        return False
    return len(writer.positionHints) > 0 or len(writer.variablePositions) > 0 or len(writer.factorPositions) > 0