Capture typing

Fixes #5 and #27.