I made a new thread, as the final diff is ready that adds the functionality of https://www.emacswiki.org/emacs/TransposeFrame, and a lot more (rotating subtrees, 'cycling' windows such as in https://github.com/daichirata/emacs-rotate). This diff that adds the required modifications to window.c and window.el and window.texi done by Martin as well, and adds window-x.el which contains all the elisp functions which add the interactive functions. This diff updates NEWS as well, and doesn't add any keybindings for the functions.