instead of `extend` can you require `clone` for this