export function pluckModuleFunction<F: Function> (
  modules: ?Array<Object>,
  key: string
): Array<F> {
  return modules
    ? modules.map(m => m[key]).filter(_ => _)
    : []
}哪位知道这里<F:Function>冒号是什么意思吗,约束泛型不是应该用extends吗?怎么这里用冒号