cgOp (LIdxVec ety c) [v,i] = do
  nv <- unbox (FArith (ATInt (ITVec ety c))) v
  ni <- unbox (FArith (ATInt (ITFixed IT32))) i
  elt <- inst $ ExtractElement nv ni []
  box (FArith (ATInt (ITFixed ety))) elt
cgOp (LIdxVec ety c) [v,i] = do
  nv <- unbox (FArith (ATInt (ITVec ety c))) v
  ni <- unbox (FArith (ATInt (ITFixed IT32))) i
  elt <- inst $ ExtractElement nv ni []
  box (FArith (ATInt (ITFixed ety))) elt
cgOp (LIdxVec ety c) [v,i] = do
  nv <- unbox (FArith (ATInt (ITVec ety c))) v
  ni <- unbox (FArith (ATInt (ITFixed IT32))) i
  elt <- inst $ ExtractElement nv ni []
  box (FArith (ATInt (ITFixed ety))) elt