A theory of inheritance, subtyping and clientship