static type checking