Revert "Remove opaque types"

Reverts tigertext/seestar#1