Drop instancetype from `init` methods since the compiler will infer it
Add support for deletion of mapped objects by predicate. closes #1109