Handle structs properly in `start_with` and `end_with`.
Don't treat structs as arrays when cloning matchers.

Fixes #619.