Because native javascript object doesn't have a reduce method. Try obj.toString() or obj.hasOwnProperty(). Maybe you wanted to Array.reduce? If so, do it like this:
type A<T> = {
readonly prop1: string;
readonly prop2: string;
} & Array<T>;