this is costly to compute, right? We might want to document as such.