function typed(fn, [descriptors])