let missing_input ~call:m_in_call ~called:m_in_called =
    let mf1 = m_in_call.T.m1 in
    let mf2 = m_in_call.T.m2 in
    let mg1 = m_in_called.T.m1 in
    let mg2 = m_in_called.T.m2 in
    let new_mf1 = if Mark.is_included mg1 mf1 then Mark.bottom else mg1 in
    let new_mf2 = 
      if (not (Mark.is_bottom mg2)) && (Mark.is_bottom mf2) then
        Mark.spare
      else Mark.bottom
    in let new_m = mk_m new_mf1 new_mf2 in
      if is_bottom new_m then None else Some new_m