Did some terrible things to work around the fact that apparently when strict mode is given type: 'obj foo|obj bar', instead of actually checking both obj foo and obj bar to see if properties are present in them, it seems to just treat the type as any and complain that the properties are there.