haf (Middle Low German) comes from Proto-Germanic habą, from Proto-Indo-European kap- — to seize, hold.