We have to add type-checking and to test this.