Hrm, type erasure really sucks, this isn't safe. Map<Player, Location> would pass your check and then fail to persistent later. Don't know if we can fix this but it would be nice to look in to.