In various plugins I had to create special cases for the site object now which behaves like a page from blueprint, fields, methods point of view but it can not be used with the same interface.
like missing id() method or modified() triggering a site()->index() instead of getting the modified of the site object content file.
i would be great if the site object would be just an enhanced page object.