.. could we say: main purpose of instance contexts is to allow use of 'open' (e.g. a) types when defining instance methods (i.e. we can use (==) a inside instance method if the context says Eq a) , rather than for looking up an applicable instance?