Currently the typecast is required to pass the compiler. The compiler currently has difficulty with object literal types with optional properties. End-user code that does not use the compiler will not need the typecast.