need something like proof irrelevance