supersedes onInfer by the fundep materialization technique