supersedes onInfer by the fundep materialization technique

/cc @eed3si9n