The Error
Shown below is the stack trace that occurs when this method is executed, and the debug of the line in question
The debug shows us that correctly, yes the named property 'AdjustHSL' does not exist. Of course attempting to access directly via [] does not compile, as shown in ChangeColour2() in the example
The Current Hack
So I have got a 'solution', but definitely feels like a hack!
Essentially casting the Instance effects Object to an array, then finding by name
export function getEffectType(effectArray: any , name: string): IEffectInstance | null {
const hackCast = effectArray as IEffectInstance[];
const found = hackCast.find((ef) => ef.name == name);
return found != null ? found as IEffectInstance : null;
}