There may be too much rigamarole around this (it's simpler to get the size imperatively and synchronously) but adding it for now.