You can buy this project and download/modify it how often you want.
package aecor.arrow trait Invocation[M[_[_]], A] { def run[F[_]](mf: M[F]): F[A] }