Shouldn't this be a separate type, not an alias?  If it's meant to be an alias, then we're inadvertently giving exec* to all of etc_t.