{m : Type u → Type v} →
  [inst : Monad m] →
    [inst_1 : MonadAttach m] →
      {motive : WeaklyLawfulMonadAttach m → Sort u_1} →
        (t : WeaklyLawfulMonadAttach m) →
          ((map_attach : ∀ {α : Type u} {x : m α}, Subtype.val <$> MonadAttach.attach x = x) → motive ⋯) → motive t