remove<K, C>(collection: C, key: K): C remove<TProps, C, K>(collection: C, key: K): C remove<C>(collection: C, key: number): C remove<C, K>(collection: C, key: K): C remove<C, K>(collection: C, key: K): C