var R = require('ramda');
const isPromise = R.both(R.is(Object), R.pipe(R.prop('then'), R.is(Function)));
const propIsNull = R.curry(R.pipe(R.prop, R.isNil));
const hasPropThatNotNull = R.complement(propIsNull);
const hasPropThatIsString = R.curry(R.pipe(R.prop, R.is(String)));
const hasPropAThatIsString = hasPropThatIsString('a');
const hasPropThatIsString2 = R.o(R.o(R.is(String)))(R.prop);
hasPropThatIsString('a');