Attempt to make types transparent across sjacket boundary

Not sure how robust this is, but looks like a step towards less annoyance / surprise