code: public static <T> Function0<T> memoizeSupplier(final Supplier<T> s, final Cacheable<T> cache) {
  
          return () -> cache.soften()
                            .computeIfAbsent("k", a -> s.get());
      }
docs: Convert a Supplier into one that caches it's result
  
  @param s Supplier to memoise
  @param cache Cachable to store the results
  @return Memoised Supplier