pi semantics types