Static type system