pub(super) fn gather_moves<'tcx>(
    body: &Body<'tcx>,
    tcx: TyCtxt<'tcx>,
    param_env: ParamEnv<'tcx>
) -> Result<(FxHashMap<Local, Place<'tcx>>, MoveData<'tcx>), (MoveData<'tcx>, Vec<(Place<'tcx>, MoveError<'tcx>)>)>