Essentially I want to ensure that an object argument contains all of the required properties, but can contain any other properties it wants. For example:
fu
Well, i hate answering my own questions, but the other answers inspired a little thought... This works:
function foo(bar: T): void { console.log(bar.baz); } foo({baz: 1, other: 2});