feat(frontends/lean/elaborator): generalize try_monad_coercion
feat(frontends/lean/elaborator): generalize try_monad_coercion

johoelzl/lean,leodemoura/lean,avigad/lean,leanprover/lean,avigad/lean,fpvandoorn/lean,avigad/lean,rlewis1988/lean,digama0/lean,fpvandoorn/lean,dselsam/lean,leanprover/lean,digama0/lean,fgdorais/lean,leanprover-community/lean,leanprover/lean,fpvandoorn/lean,avigad/lean,leanprover/lean,dselsam/lean,rlewis1988/lean,fpvandoorn/lean,dselsam/lean,Kha/lean,johoelzl/lean,rlewis1988/lean,leanprover-community/lean,rlewis1988/lean,rlewis1988/lean,Kha/lean,dselsam/lean,avigad/lean,leanprover-community/lean,leanprover-community/lean,leodemoura/lean,digama0/lean,johoelzl/lean,rlewis1988/lean,digama0/lean,Kha/lean,leanprover/lean,fpvandoorn/lean,Kha/lean,fpvandoorn/lean,digama0/lean,fgdorais/lean,Kha/lean,fgdorais/lean,fgdorais/lean,johoelzl/lean,leanprover-community/lean,johoelzl/lean,leodemoura/lean,fgdorais/lean,leodemoura/lean,leanprover/lean,leodemoura/lean,johoelzl/lean,avigad/lean,dselsam/lean,Kha/lean,digama0/lean,leanprover-community/lean,leodemoura/lean,fgdorais/lean,dselsam/lean