use generics in Task to name the future. then you can simply own a `Fut`. statically-allocate the Task in main store a type-erased pointer to it in a static when spawning the task, you need to "un-erase" the pointer to the task. this is what the "dummy" arg in `from_ptr` does then you can just spawn it