Type-checking problem