     ValConstantvector -> translateConstantAggregate finalState ConstantVector (castPtr dataPtr)
     ValConstantfp -> translateConstantFP finalState (castPtr dataPtr)
     ValConstantint -> translateConstantInt finalState (castPtr dataPtr)
-    -- ValCnstantexpr
     ValRetinst -> translateRetInst finalState (castPtr dataPtr)
     ValBranchinst -> translateBranchInst finalState (castPtr dataPtr)
     ValSwitchinst -> translateSwitchInst finalState (castPtr dataPtr)

cInsExtIndices ie =
  peekArray ie {#get CInsExtValInfo->indices#} {#get CInsExtValInfo->numIndices#}

data CPHIInfo
{#pointer *CPHIInfo as PHIInfoPtr -> CPHIInfo #}
cPHIValues :: PHIInfoPtr -> IO [ValuePtr]

                            , insertValueValue = val
                            , insertValueIndices = indices
                            }

translateConstantExpr :: KnotState -> ConstExprPtr -> KnotMonad ValueT
translateConstantExpr finalState dataPtr = undefined -- do
  -- opPtrs <- liftIO $ cConstExprOperands dataPtr
  -- tag <- liftIO $ cConstExprTag dataPtr
  -- ops <- mapM (translateConstOrRef finalState) opPtrs

  -- case tag of