Use AbstractSnapshot instead of self type hint (for hhvm)