simple theory of types