Implement the advanced util type OptionalKeys<T>, which picks all the optional keys into a union.
OptionalKeys<T>