type AsyncFunction = (...args: any[]) => Promise; export default function greenlet, U>(fn: T): T;