Semantics and type systems