Duck-type contents as string

Closes #22