For example, document.scrollIntoView should receive object | boolean while PaymentResponse.prototype.details should still be any to allow arbitrary property access. (microsoft/TypeScript#18228)
PS: WebIDL object can be safely mapped to { [x:string]: any }, so we can use it so that both object on function argument and class member can be mapped without any complexity.