A gentle introduction to semantic subtyping