Documentation

Lean.Util.ShareCommon

@[reducible, inline]
abbrev Lean.ShareCommon.ShareCommonT (m : Type u_1 → Type u_2) (α : Type u_1) :
Type (max u_1 u_2)
Instances For
    @[reducible, inline]
    abbrev Lean.ShareCommon.PShareCommonT (m : Type u_1 → Type u_2) (α : Type u_1) :
    Type (max u_1 u_2)
    Instances For
      @[reducible, inline]
      abbrev Lean.ShareCommon.ShareCommonM (α : Type u_1) :
      Type u_1
      Instances For
        @[reducible, inline]
        Instances For
          @[specialize #[]]
          def Lean.ShareCommon.ShareCommonT.withShareCommon {m : Type u_1 → Type u_2} {α : Type u_1} [Monad m] (a : α) :
          Instances For
            @[specialize #[]]
            def Lean.ShareCommon.PShareCommonT.withShareCommon {m : Type u_1 → Type u_2} {α : Type u_1} [Monad m] (a : α) :
            Instances For
              @[implicit_reducible]
              @[inline]
              def Lean.ShareCommon.ShareCommonT.run {m : Type u_1 → Type u_2} {α : Type u_1} [Monad m] :
              ShareCommonT m αm α
              Instances For
                @[inline]
                def Lean.ShareCommon.PShareCommonT.run {m : Type u_1 → Type u_2} {α : Type u_1} [Monad m] :
                PShareCommonT m αm α
                Instances For
                  @[inline]
                  Instances For
                    @[inline]
                    Instances For
                      def Lean.ShareCommon.shareCommon {α : Type u_1} (a : α) :
                      α
                      Instances For