Why add `idx_type` to get_FSM, but put_CORE? Why not both FSMs, or both cores?