notes on subtyping