functional IndexSpec