feat(safeApply): add a safeApply operator

Fixes #7