A few more attempts to sort out type inference issues in struct methods