Description
As suggested by jukka on the mailing list we may consider removing the tree type from the ImmutableTree and ImmutableRoot and just keep it inside the permission evaluation code.
pro: simplify ImmutableTree
con: for PermissionProvider#isGranted and PermissionProvider#hasPrivilege the treepermission object is not present and retrieving the type always will walk up the hierarchy to retrieve the type of the parent with the associated performance impact.