better to use `len(ml_usage) == idx`, no?