converted them into .Fn macros where appropriate. Also fixed up some minor formatting problems.
4.4. The code is almost identical to the 4.4 versions, but this organization should make it easier to merge new versions in the future.