Generic property wrapper optional handling

I have hit upon a solution.

Namely, using ExpressibleByNilLiteral as a generic constraint :D

e.g.

private func _wrappedValue<T>(_ type: T.Type) -> T where T:ExpressibleByNilLiteral
in tandem with
private func _wrappedValue<T>(_ type: T.Type) -> T

(top only gets called if T is some optional)