code: function safeLift(pred, fn) {
    if(!isPredOrFunc(pred)) {
      throw new TypeError('safeLift: Pred or predicate function required for first argument')
    }
    else if(!isFunction(fn)) {
      throw new TypeError('safeLift: Function required for second argument')
    }
  
    return compose(map(fn), safe(pred))
  }
docs: safeLift : ((a -> Boolean) | Pred) -> (a -> b) -> a -> Maybe b