Remove opaque types

This PR needs to be tagged with 0.1.1 after it is merged.