chore(library/hott) make funext more general