typesafe checkings