elab_error_msgs.lean:2:0: error: type mismatch at application
  and.rec (λ (ha : ?m_1) (hb : ?m_2) (hb : ?m_4[ha, hb]), ha)
term
  λ (ha : ?m_1) (hb : ?m_2) (hb : ?m_3[ha, hb]), ha
has type
  Π (ha : ?m_1) (hb : ?m_2), ?m_3[ha, hb] → ?m_1
but is expected to have type
  ?m_1 → ?m_2 → ?m_3
Additional information:
elab_error_msgs.lean:2:0: context: 'eliminator' elaboration was not used for 'and.rec' because it is not fully applied, #2 explicit arguments expected
elab_error_msgs.lean:5:0: warning: declaration 'bogus_elim' uses sorry
elab_error_msgs.lean:9:0: error: type mismatch at application
  bogus_elim trivial
term
  trivial
has type
  true
but is expected to have type
  ?m_1 ?m_2 ?m_2
Additional information:
elab_error_msgs.lean:9:0: context: 'eliminator' elaboration is not used for 'bogus_elim' because a (reliable) way to synthesize 'a', which occurs in the resulting type, was not found
