The author plans not to write an S3 method as.environment to the class 'hyperframe', as it would be a simple pipeline of functions spatstat.geom::as.list.hyperframe() and base::list2env().
The author plans not to implement an S4 method dispatch merge to the S3 classes 'hyperframe' and/or 'groupedHyperframe', for the obstacles explained below.
First, there is not an S3 method merge.hyperframe in package spatstat.geom (v3.6.1);
Second, should the author decide to implement setMethod(f = merge, ...) for the class 'hyperframe', at least two (2) S4 methods need to be written for
signature = c(x = 'hyperframe', y = 'data.frame')
signature = c(x = 'hyperframe', y = 'hyperframe'), for which the author needs to define a match mechanism for hypercolumns.
Lastly, should the author decide to implement setMethod(f = merge, ...) for the class 'groupedHyperframe', at least three (3) S4 methods need to be written for
signature = c(x = 'groupedHyperframe', y = 'data.frame')
signature = c(x = 'groupedHyperframe', y = 'hyperframe'), as explained above;
signature = c(x = 'groupedHyperframe', y = 'groupedHyperframe'), for which the author needs to consider the (potentially different) grouping structures of x and y inputs.
The author suggests using the pipeline of functions base::merge.data.frame() and as.groupedHyperframe() as a workaround.