pub fn type_of<'tcx>(
    _tcx: TyCtxt<'tcx>,
    value: type_of<'tcx>
) -> Erase<type_of<'tcx>>