getOrRetrieve

open fun <M : Any> getOrRetrieve(key: Key<M>, retrieve: () -> Sized<M>?): M?