in storehaus-core/src/main/scala/com/twitter/storehaus/ReadableStore.scala [104:110]
def fromPartial[K, V](getfn: PartialFunction[K, V]): ReadableStore[K, V] =
new AbstractReadableStore[K, V] {
override def get(k: K) = if (getfn.isDefinedAt(k)) {
try { Future.value(Some(getfn(k))) }
catch { case e: Throwable => Future.exception(e) }
} else Future.None
}