semiheaps