``` fsharp type hoop< ^a when ^a : (static member (+) : ^a * ^a -> ^a) > = { Group1 : ^a; Group2 : ^a } with static member inline (+) (x, y) = x.Group1 + y.Group2 end let z = { Group1 = 1; Group2 = 2 } + { Group1 = 2; Group2 = 3 } // ok type hoop with member inline this.Sum = this.Group1 + this.Group2 // A type parameter is missing a constraint 'when ( ^a or ^?104290) : (static member ( + ) : ^a * ^?104290 -> ^?104291)' end ```