experimenting with type checking