Sorry, that part is relatively new and poorly documented.
Choosy is sort of vtable-ish. It selects between method implementations (which all have the same signature), typically based on cpuid (e.g. if the CPU is SSE4.2+PCLMUL capable, set foo = foo_x86_sse42; if not, use the default foo impl).
up (the private method) just implements update (the public method). Only private methods can be choosy.