Fix inference for constrained or morphed optional keys (#1040)
const repro = type({
normal: "string>0",
"optional?": "string>0"
})
type Expected = { normal: string; optional?: string }
// these are both now identical to Expected
// (previously, optional was inferred as string.moreThanLength<0>)
type Actual = typeof repro.infer
type ActualIn = typeof repro.infer